You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Martin Kraemer <Ma...@Fujitsu-Siemens.com> on 2001/08/23 15:52:26 UTC

Compiling Flood

On Thu, Aug 16, 2001 at 12:03:40AM -0700, Justin Erenkrantz wrote:
> 
> A better solution may be flood rather than ab (see httpd-test CVS
> repository).  
> 
> I'm sounding like a broken harp, but it'd be nice to get external 
> feedback on flood after the work we've put into it - we're using 
> it here internally, so we know it works, but I'd love to see what 
> people think about it.  Can we make it better (blah, blah, blah)?
> 
> SSL works there (has all of the features you want to add to ab) and 
> you can do lots more with it.  That may come at *some* client-side 
> performance penalty, but flood is still much more lightweight than 
> the actual browsers people use.  So, the performance "penalty" is 
> probably negligable for meaningless benchmarks anyway.  -- justin

All sounds very promising - only it doesn't compile.

% uname -a
FreeBSD deejai2.mch.fsc.net 4.3-STABLE FreeBSD 4.3-STABLE #9: Thu Aug  2 13:42:26 CEST 2001     martin@deejai2.mch.fsc.net:/usr/src/sys/compile/DEEJAI4B  i386

% make
"/home/com5/martin/apachen/X/httpd-2.0/build/rules.mk", line 255: Could not find /.deps
make: fatal errors encountered -- cannot continue
Exit 1

(Okay, I accept that gmake is a requirement, but: )

% gmake
/bin/sh /home/com5/martin/apachen/X/httpd-2.0/srclib/apr/libtool --silent --mode=compile gcc  -g -O2 -Wall    -D_REENTRANT -D_THREAD_SAFE -I/pkg/openssl-0.9.6b/include -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr/include/arch/unix -DAP_HAVE_DESIGNATED_INITIALIZER   -I. -I/home/com5/martin/apachen/X/httpd-2.0/os/unix -I/home/com5/martin/apachen/X/httpd-2.0/server/mpm/prefork -I/home/com5/martin/apachen/X/httpd-2.0/modules/http -I/home/com5/martin/apachen/X/httpd-2.0/include -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr/include -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr-util/include -I/usr/include/openssl -I/home/com5/martin/apachen/X/httpd-2.0/modules/dav/main  -c flood_round_robin.c && touch flood_round_robin.lo
flood_round_robin.c: In function `handle_param_string':
flood_round_robin.c:465: structure has no member named `rm_sp'
flood_round_robin.c:474: structure has no member named `rm_sp'
flood_round_robin.c:487: structure has no member named `rm_sp'
flood_round_robin.c:495: structure has no member named `rm_sp'
flood_round_robin.c:516: structure has no member named `rm_ep'
flood_round_robin.c:452: warning: `size' might be used uninitialized in this function
flood_round_robin.c: In function `round_robin_postprocess':
flood_round_robin.c:675: structure has no member named `rm_sp'
gmake: *** [flood_round_robin.lo] Fehler 1
Exit 2

I searched for rm_sp in the system's regex.h, as well as in
httpd-2.0's srclib/pcre/, and in apache-1.3's src/regex/,
but to no avail.

What do I need to change to get it to compile on a non-whatever-special
system?

Curious and eagerly waiting,

  Martin
-- 
<Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
       <ma...@apache.org>              |   81730  Munich,  Germany

Re: Compiling Flood

Posted by Aaron Bannert <aa...@clove.org>.
Not yet :) But that looks like a bug.

One of the major goals of flood is to ensure that it will scale huge using
whatever mechanisms the local machine/network has; be those threads,
forked children, remote instances of flood (over rsh/ssh), and all at
the same time if desired.

Feel free to bring this discussion over to test-dev@httpd.apache.org

-aaron


On Thu, Aug 23, 2001 at 04:17:54PM +0200, Martin Kraemer wrote:
> On Thu, Aug 23, 2001 at 04:05:30PM +0200, Sander Striker wrote:
> > Do a cvs update, Justin fixed this yesterday :)
> > The rm_sp field was a solaris specific extention...
> 
> Thanks, that was better, but still no slice.
> 
> flood_net_ssl.o: In function `ssl_id':
> flood_net_ssl.c(.text+0xe3): undefined reference to `apr_os_thread_current'
> flood_easy_reports.o: In function `easy_process_stats':
> flood_easy_reports.c(.text+0xdc): undefined reference to `apr_os_thread_current'
> flood_farm.o: In function `farmer_worker':
> flood_farm.c(.text+0x15): undefined reference to `apr_thread_pool_get'
> flood_farm.o: In function `run_farm':
> flood_farm.c(.text+0x476): undefined reference to `apr_thread_create'
> flood_farm.c(.text+0x4e5): undefined reference to `apr_thread_join'
> flood_report_relative_times.o: In function `relative_times_process_stats':
> flood_report_relative_times.c(.text+0xcf): undefined reference to `apr_os_thread_current'
> Make: *** [flood] Fehler 1
> 
> Because of problems with threading in the past, I compiled apr without
> threading support (prefork mpm). Can't flood live without threads?
> 
>    Martin
> -- 
> <Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
>        <ma...@apache.org>              |   81730  Munich,  Germany

Re: Compiling Flood

Posted by Aaron Bannert <aa...@clove.org>.
Not yet :) But that looks like a bug.

One of the major goals of flood is to ensure that it will scale huge using
whatever mechanisms the local machine/network has; be those threads,
forked children, remote instances of flood (over rsh/ssh), and all at
the same time if desired.

Feel free to bring this discussion over to test-dev@httpd.apache.org

-aaron


On Thu, Aug 23, 2001 at 04:17:54PM +0200, Martin Kraemer wrote:
> On Thu, Aug 23, 2001 at 04:05:30PM +0200, Sander Striker wrote:
> > Do a cvs update, Justin fixed this yesterday :)
> > The rm_sp field was a solaris specific extention...
> 
> Thanks, that was better, but still no slice.
> 
> flood_net_ssl.o: In function `ssl_id':
> flood_net_ssl.c(.text+0xe3): undefined reference to `apr_os_thread_current'
> flood_easy_reports.o: In function `easy_process_stats':
> flood_easy_reports.c(.text+0xdc): undefined reference to `apr_os_thread_current'
> flood_farm.o: In function `farmer_worker':
> flood_farm.c(.text+0x15): undefined reference to `apr_thread_pool_get'
> flood_farm.o: In function `run_farm':
> flood_farm.c(.text+0x476): undefined reference to `apr_thread_create'
> flood_farm.c(.text+0x4e5): undefined reference to `apr_thread_join'
> flood_report_relative_times.o: In function `relative_times_process_stats':
> flood_report_relative_times.c(.text+0xcf): undefined reference to `apr_os_thread_current'
> Make: *** [flood] Fehler 1
> 
> Because of problems with threading in the past, I compiled apr without
> threading support (prefork mpm). Can't flood live without threads?
> 
>    Martin
> -- 
> <Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
>        <ma...@apache.org>              |   81730  Munich,  Germany

Re: Compiling Flood

Posted by Justin Erenkrantz <je...@ebuilt.com>.
On Thu, Aug 23, 2001 at 04:17:54PM +0200, Martin Kraemer wrote:
> Because of problems with threading in the past, I compiled apr without
> threading support (prefork mpm). Can't flood live without threads?

Not right now.  =)  We model each user as a thread.

However, it should not be hard to have it fork for each user and then
call farmer_main.  I can try and look at it later today (should be a
quickie patch).  Maybe Aaron can jump in here.  I dunno what his 
schedule is like nowadays.  -- justin

P.S.  Flood's project mailing list is test-dev@httpd.apache.org.  If 
you have any more questions/comments about flood, please post them 
there.  =)


Re: Compiling Flood

Posted by Martin Kraemer <Ma...@Fujitsu-Siemens.com>.
On Thu, Aug 23, 2001 at 04:05:30PM +0200, Sander Striker wrote:
> Do a cvs update, Justin fixed this yesterday :)
> The rm_sp field was a solaris specific extention...

Thanks, that was better, but still no slice.

flood_net_ssl.o: In function `ssl_id':
flood_net_ssl.c(.text+0xe3): undefined reference to `apr_os_thread_current'
flood_easy_reports.o: In function `easy_process_stats':
flood_easy_reports.c(.text+0xdc): undefined reference to `apr_os_thread_current'
flood_farm.o: In function `farmer_worker':
flood_farm.c(.text+0x15): undefined reference to `apr_thread_pool_get'
flood_farm.o: In function `run_farm':
flood_farm.c(.text+0x476): undefined reference to `apr_thread_create'
flood_farm.c(.text+0x4e5): undefined reference to `apr_thread_join'
flood_report_relative_times.o: In function `relative_times_process_stats':
flood_report_relative_times.c(.text+0xcf): undefined reference to `apr_os_thread_current'
Make: *** [flood] Fehler 1

Because of problems with threading in the past, I compiled apr without
threading support (prefork mpm). Can't flood live without threads?

   Martin
-- 
<Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
       <ma...@apache.org>              |   81730  Munich,  Germany

Re: Compiling Flood

Posted by Martin Kraemer <Ma...@Fujitsu-Siemens.com>.
On Thu, Aug 23, 2001 at 03:52:26PM +0200, Kraemer, Martin wrote:
> 
> % make
> "/home/com5/martin/apachen/X/httpd-2.0/build/rules.mk", line 255: Could not find /.deps
> make: fatal errors encountered -- cannot continue
> Exit 1
> 
> (Okay, I accept that gmake is a requirement, but: )

...but httpd-2.0 itself compiles just file with FreeBSD's 'make'.

  Martin
-- 
<Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
       <ma...@apache.org>              |   81730  Munich,  Germany

RE: Compiling Flood

Posted by Sander Striker <st...@apache.org>.
Do a cvs update, Justin fixed this yesterday :)
The rm_sp field was a solaris specific extention...

Sander

> -----Original Message-----
> From: Martin Kraemer [mailto:Martin.Kraemer@Fujitsu-Siemens.com]
> Sent: 23 August 2001 15:52
> To: new-httpd@apache.org
> Subject: Compiling Flood
> 
> 
> On Thu, Aug 16, 2001 at 12:03:40AM -0700, Justin Erenkrantz wrote:
> > 
> > A better solution may be flood rather than ab (see httpd-test CVS
> > repository).  
> > 
> > I'm sounding like a broken harp, but it'd be nice to get external 
> > feedback on flood after the work we've put into it - we're using 
> > it here internally, so we know it works, but I'd love to see what 
> > people think about it.  Can we make it better (blah, blah, blah)?
> > 
> > SSL works there (has all of the features you want to add to ab) and 
> > you can do lots more with it.  That may come at *some* client-side 
> > performance penalty, but flood is still much more lightweight than 
> > the actual browsers people use.  So, the performance "penalty" is 
> > probably negligable for meaningless benchmarks anyway.  -- justin
> 
> All sounds very promising - only it doesn't compile.
> 
> % uname -a
> FreeBSD deejai2.mch.fsc.net 4.3-STABLE FreeBSD 4.3-STABLE #9: Thu 
> Aug  2 13:42:26 CEST 2001     
> martin@deejai2.mch.fsc.net:/usr/src/sys/compile/DEEJAI4B  i386
> 
> % make
> "/home/com5/martin/apachen/X/httpd-2.0/build/rules.mk", line 255: 
> Could not find /.deps
> make: fatal errors encountered -- cannot continue
> Exit 1
> 
> (Okay, I accept that gmake is a requirement, but: )
> 
> % gmake
> /bin/sh /home/com5/martin/apachen/X/httpd-2.0/srclib/apr/libtool 
> --silent --mode=compile gcc  -g -O2 -Wall    -D_REENTRANT 
> -D_THREAD_SAFE -I/pkg/openssl-0.9.6b/include 
> -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr/include/arch/un
> ix -DAP_HAVE_DESIGNATED_INITIALIZER   -I. 
> -I/home/com5/martin/apachen/X/httpd-2.0/os/unix 
> -I/home/com5/martin/apachen/X/httpd-2.0/server/mpm/prefork 
> -I/home/com5/martin/apachen/X/httpd-2.0/modules/http 
> -I/home/com5/martin/apachen/X/httpd-2.0/include 
> -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr/include 
> -I/home/com5/martin/apachen/X/httpd-2.0/srclib/apr-util/include 
> -I/usr/include/openssl 
> -I/home/com5/martin/apachen/X/httpd-2.0/modules/dav/main  -c 
> flood_round_robin.c && touch flood_round_robin.lo
> flood_round_robin.c: In function `handle_param_string':
> flood_round_robin.c:465: structure has no member named `rm_sp'
> flood_round_robin.c:474: structure has no member named `rm_sp'
> flood_round_robin.c:487: structure has no member named `rm_sp'
> flood_round_robin.c:495: structure has no member named `rm_sp'
> flood_round_robin.c:516: structure has no member named `rm_ep'
> flood_round_robin.c:452: warning: `size' might be used 
> uninitialized in this function
> flood_round_robin.c: In function `round_robin_postprocess':
> flood_round_robin.c:675: structure has no member named `rm_sp'
> gmake: *** [flood_round_robin.lo] Fehler 1
> Exit 2
> 
> I searched for rm_sp in the system's regex.h, as well as in
> httpd-2.0's srclib/pcre/, and in apache-1.3's src/regex/,
> but to no avail.
> 
> What do I need to change to get it to compile on a non-whatever-special
> system?
> 
> Curious and eagerly waiting,
> 
>   Martin
> -- 
> <Ma...@Fujitsu-Siemens.com>    |       Fujitsu Siemens
>        <ma...@apache.org>              |   81730  Munich,  Germany
>