You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ingo Luetkebohle <in...@devcon.net> on 1998/01/06 21:07:26 UTC

performance comparison

Are there any numbers about the performance one could expect from
Apache? Things like hits/second and sustained transfer rate. 

I know that these numbers depend highly on operating system and
hardware, but I´m not looking for exact numbers, just something to
compare my measurements to and get an idea if I have room for
optimization left.

---Ingo Luetkebohle
dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803

Re: performance comparison

Posted by Dean Gaudet <dg...@arctic.org>.
Well, you could start by using 1.3 instead of 1.2 ;)  In 1.2 the number of
modules has a direct effect on the speed -- because of a linear lookup
through every single module vector, NULL or not NULL.  In 1.3 it only
looks at the not NULL ones. 

mod_status reduces performance, well actually just Rule STATUS=yes reduces
performance. 

Dean


On Fri, 9 Jan 1998, Ingo Luetkebohle wrote:

> Dean Gaudet wrote:
> > Other things you can try for amusement are "MaxClients 5" which will
> > decrease dcache thrashing; and try using -k on zb to use keep-alive... the
> > difference can be striking.
> 
> Hmm, the effects are moderate: throughput increased just 500k/s to an
> absolute of 1500Kb/s. Requests are up just 50/s to an absolute of 200
> reqs/s. I´d have expected a lot more from keep-alives... I still have
> that bad feeling that I´m doing something very wrong.
> 
> Are there any modules that reduce performance? Some things that come to
> mind are mod_browser, mod_speling and mod_php...
> 
> ---Ingo Luetkebohle
> dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
> url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803
> 


Re: performance comparison

Posted by Ingo Luetkebohle <in...@devcon.net>.
Dean Gaudet wrote:
> Other things you can try for amusement are "MaxClients 5" which will
> decrease dcache thrashing; and try using -k on zb to use keep-alive... the
> difference can be striking.

Hmm, the effects are moderate: throughput increased just 500k/s to an
absolute of 1500Kb/s. Requests are up just 50/s to an absolute of 200
reqs/s. I´d have expected a lot more from keep-alives... I still have
that bad feeling that I´m doing something very wrong.

Are there any modules that reduce performance? Some things that come to
mind are mod_browser, mod_speling and mod_php...

---Ingo Luetkebohle
dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803

Re: performance comparison

Posted by Dean Gaudet <dg...@arctic.org>.
Other things you can try for amusement are "MaxClients 5" which will
decrease dcache thrashing; and try using -k on zb to use keep-alive... the
difference can be striking. 

Dean

On Thu, 8 Jan 1998, Ingo Luetkebohle wrote:

> Dean Gaudet wrote:
> > What version of apache?  Have you played with the MaxClients settings?  I
> > see 700 req/s and 4Mb/s across loopback with zb on a 6k file on a dual
> > pentium pro 166 running linux 2.0.30.  That's with some of the tuning
> > mentioned on the perf-tuning page.
> 
> I found a gotcha: I requested "/" and so incured the additional penalty
> of a dir index every time. Requesting a "real" 6k file gives 1 meg/s
> with 150 reqs/s on 1.2.5 (whereas previously it was 400k/s)
> 
> All tested with concurrency level 5 of zb, so MaxClients should not be a
> problem. Raising concurrency to 10 does not change much.
> 
> Server: single P133, Linux 2.0.31, Apache 1.2.5. netperf gives roughly
> 16meg/s on the same machine (via loopback)
> 
> Min/MaxSpareServers are 10 and 25 with StartServers at 10, which I
> figured would be fine for the performance test.
> 
> I followed all of the tips on Deans performance paper, where they relate
> to 1.2.x.
> 
> ---Ingo Luetkebohle
> dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
> url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803
> 


Re: performance comparison

Posted by Ingo Luetkebohle <in...@devcon.net>.
Dean Gaudet wrote:
> What version of apache?  Have you played with the MaxClients settings?  I
> see 700 req/s and 4Mb/s across loopback with zb on a 6k file on a dual
> pentium pro 166 running linux 2.0.30.  That's with some of the tuning
> mentioned on the perf-tuning page.

I found a gotcha: I requested "/" and so incured the additional penalty
of a dir index every time. Requesting a "real" 6k file gives 1 meg/s
with 150 reqs/s on 1.2.5 (whereas previously it was 400k/s)

All tested with concurrency level 5 of zb, so MaxClients should not be a
problem. Raising concurrency to 10 does not change much.

Server: single P133, Linux 2.0.31, Apache 1.2.5. netperf gives roughly
16meg/s on the same machine (via loopback)

Min/MaxSpareServers are 10 and 25 with StartServers at 10, which I
figured would be fine for the performance test.

I followed all of the tips on Deans performance paper, where they relate
to 1.2.x.

---Ingo Luetkebohle
dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803

Re: performance comparison

Posted by Igor Tatarinov <ta...@prairie.NoDak.edu>.
BTW, are there any Webstone results for Apache around?

igor

Dirk-Willem van Gulik wrote:
> 
> On Thu, 8 Jan 1998, Dean Gaudet wrote:
> 
> > Only problem with the module you sent is that it's not a static page
> > test... that's a dynamic page test.  static pages are mmap()d and much
> > larger segments are passed to write().  The results from your module would
> 
> Very true; I just cursory tried that and there is a 2 to 3 % difference on
> both Solaris and BSD. 'Real' files are in the same league.
> 
> > be pessimistic.  I much prefer the tests which include a bunch of on-disk
> > files that get requested according to some weighting.
> 
> Actually that would be a better test; we used this one cause we wanted to
> try different statistical access patterns onto a number of test sites in
> europe and asia to which we had no real access; we could just install the
> binaries once; and try playing differnt patterns against them.
> 
> Dw.

Re: performance comparison

Posted by Dirk-Willem van Gulik <Di...@jrc.it>.
On Thu, 8 Jan 1998, Dean Gaudet wrote:

> Only problem with the module you sent is that it's not a static page
> test... that's a dynamic page test.  static pages are mmap()d and much
> larger segments are passed to write().  The results from your module would

Very true; I just cursory tried that and there is a 2 to 3 % difference on
both Solaris and BSD. 'Real' files are in the same league.

> be pessimistic.  I much prefer the tests which include a bunch of on-disk 
> files that get requested according to some weighting.

Actually that would be a better test; we used this one cause we wanted to
try different statistical access patterns onto a number of test sites in
europe and asia to which we had no real access; we could just install the
binaries once; and try playing differnt patterns against them. 

Dw.



Re: performance comparison

Posted by Dean Gaudet <dg...@arctic.org>.

On Thu, 8 Jan 1998, Dirk-Willem van Gulik wrote:

> Hmm, how 'bout a simple benchmark people can run as a make test which
> presents the results in an emailable form; based on say the output
> of a static page test module ?

Only problem with the module you sent is that it's not a static page
test... that's a dynamic page test.  static pages are mmap()d and much
larger segments are passed to write().  The results from your module would
be pessimistic.  I much prefer the tests which include a bunch of on-disk
files that get requested according to some weighting.

Dean


Re: performance comparison

Posted by Rob Hartill <ro...@imdb.com>.
On Thu, 8 Jan 1998, Dirk-Willem van Gulik wrote:

> On Wed, 7 Jan 1998, Dean Gaudet wrote:
> 
> > What version of apache?  Have you played with the MaxClients settings?  I
> > see 700 req/s and 4Mb/s across loopback with zb on a 6k file on a dual
> > pentium pro 166 running linux 2.0.30.  That's with some of the tuning
> > mentioned on the perf-tuning page. 
> 
> We get about 520 req/second (with sensible .htaccess use) and widely
> varying Mbits/sec on a production machine across an unloaded 100Mbit
> interconnection between the boxes on a AMD-k6-200Mhz.
> 
> Hmm, how 'bout a simple benchmark people can run as a make test which
> presents the results in an emailable form; based on say the output
> of a static page test module ?

You'd need to treat the stats with a pinch of salt based on all sort
of unknown variables on the test machine (current load, disk speeds..)
but as ballpark figures they might be interesting if unscientific.

--
Rob Hartill                              Internet Movie Database (Ltd)
http://www.moviedatabase.com/   .. a site for sore eyes.


Re: performance comparison

Posted by Dirk-Willem van Gulik <Di...@jrc.it>.
On Wed, 7 Jan 1998, Dean Gaudet wrote:

> What version of apache?  Have you played with the MaxClients settings?  I
> see 700 req/s and 4Mb/s across loopback with zb on a 6k file on a dual
> pentium pro 166 running linux 2.0.30.  That's with some of the tuning
> mentioned on the perf-tuning page. 

We get about 520 req/second (with sensible .htaccess use) and widely
varying Mbits/sec on a production machine across an unloaded 100Mbit
interconnection between the boxes on a AMD-k6-200Mhz.

Hmm, how 'bout a simple benchmark people can run as a make test which
presents the results in an emailable form; based on say the output
of a static page test module ? I'd love to see the results for a fair
collection of machines. The attached module is what we use; simply
responds to the URL http://foo-bar.com/test?len=12334. We then
awk-feed the lenght's striped from a partial log file into a simple
HTTP1/1 fetch on a few machines.

Dw.

***************
*** 826,19 ****

make test: httpd
	mv modules.c modules.c.old
	mv testmod.c modules.c
	$(CC) $(LFLAGS)  -o ../test/httpd $(OBJS) $(REGLIB) $(LIBS)
	cd ../test
	time ./httpd -d . > httpd.time 2>&1
	split -12 lenlog; ./forkfetch.pl 12 x* 



Re: performance comparison

Posted by Dean Gaudet <dg...@arctic.org>.
Igor is working on a caching module...

What version of apache?  Have you played with the MaxClients settings?  I
see 700 req/s and 4Mb/s across loopback with zb on a 6k file on a dual
pentium pro 166 running linux 2.0.30.  That's with some of the tuning
mentioned on the perf-tuning page. 

Dean

On Wed, 7 Jan 1998, Ingo Luetkebohle wrote:

> Dean Gaudet wrote:
> > Since it depends so much on your setup I suggest just doing it with and
> > without your caching module and see what you get.  
> 
> Umm, I may sound real dumb, but what kind of caching module are you
> talking about?
> 
> Just to illustrate my situation: I´m getting about 100k/s on a
> P133/128MB/Linux 2.0.33 local-to-local (not over a network), measured
> with ZeusBench and really can´t believe that the thing should be so
> darned slow. So, I was looking for some numbers showing that I just made
> a mistake in configuration or something like it.
> 
> ---Ingo Luetkebohle
> dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
> url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803
> 


Re: performance comparison

Posted by Ingo Luetkebohle <in...@devcon.net>.
Dean Gaudet wrote:
> Since it depends so much on your setup I suggest just doing it with and
> without your caching module and see what you get.  

Umm, I may sound real dumb, but what kind of caching module are you
talking about?

Just to illustrate my situation: I´m getting about 100k/s on a
P133/128MB/Linux 2.0.33 local-to-local (not over a network), measured
with ZeusBench and really can´t believe that the thing should be so
darned slow. So, I was looking for some numbers showing that I just made
a mistake in configuration or something like it.

---Ingo Luetkebohle
dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803

Re: performance comparison

Posted by Igor Tatarinov <ta...@prairie.NoDak.edu>.
Well, this wan't my question but indeed I need some benchmarking
tool to test performance of my caching module.

The first thing that I tried was ZeusBench (is it still alive?).
It's pretty nice and simple but it can only request one file. Another 
problem it works in two modes only: a single keepalive connection or 
a separate connection per request.

I wanted to request different files and be able to specify duration of
ka connections (say 5 requests per connection). This way zb becomes more 
realistic. To create my "web site" I take a log and run a perl script
to create all necessary directories and files (sizes are known from 
the log). Then I use, the same log and a modified zb to benchmark
apache.

Another reason, I did that is that I wanted to simulate a lot of I/O
activity (may occasionally happen on a busy server) so I took a log
with a large data set.

If if we had a standard log for such kind of testing, then the results 
could be comparable. 

WebStone used to be a popular benchmark but from it's web page 
http://www.sgi.com/Products/WebFORCE/WebStone/
it seems like it's dying. And they don't have any results on that page.

igor


Dean Gaudet wrote:
> 
> Since it depends so much on your setup I suggest just doing it with and
> without your caching module and see what you get.  I've never actually had
> the proper test network to make "publishable" numbers about throughput and
> whatnot.  I usually do relative tests -- see how changes to the code
> improve the throughput on my rather limited test bed.
> 
> But the SPEC folks have been kind enough to donate a copy of specweb96 to
> me, and I've convinced some folks to let me set up a nice testbed for some
> work soon.  So maybe I'll be able to get numbers.
> 
> Dean
> 
> On Tue, 6 Jan 1998, Ingo Luetkebohle wrote:
> 
> > Are there any numbers about the performance one could expect from
> > Apache? Things like hits/second and sustained transfer rate.
> >
> > I know that these numbers depend highly on operating system and
> > hardware, but I´m not looking for exact numbers, just something to
> > compare my measurements to and get an idea if I have room for
> > optimization left.
> >
> > ---Ingo Luetkebohle
> > dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
> > url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803
> >

Re: performance comparison

Posted by Dean Gaudet <dg...@arctic.org>.
Since it depends so much on your setup I suggest just doing it with and
without your caching module and see what you get.  I've never actually had
the proper test network to make "publishable" numbers about throughput and
whatnot.  I usually do relative tests -- see how changes to the code
improve the throughput on my rather limited test bed.

But the SPEC folks have been kind enough to donate a copy of specweb96 to
me, and I've convinced some folks to let me set up a nice testbed for some
work soon.  So maybe I'll be able to get numbers. 

Dean

On Tue, 6 Jan 1998, Ingo Luetkebohle wrote:

> Are there any numbers about the performance one could expect from
> Apache? Things like hits/second and sustained transfer rate. 
> 
> I know that these numbers depend highly on operating system and
> hardware, but I´m not looking for exact numbers, just something to
> compare my measurements to and get an idea if I have room for
> optimization left.
> 
> ---Ingo Luetkebohle
> dev/consulting Gesellschaft fuer Netzwerkentwicklung und -beratung mbH
> url: http://www.devconsult.de/ - fon: 0521-1365800 - fax: 0521-1365803
> 


Re: performance comparison

Posted by Marc Slemko <ma...@worldgate.com>.
On Tue, 6 Jan 1998, Ingo Luetkebohle wrote:

> Are there any numbers about the performance one could expect from
> Apache? Things like hits/second and sustained transfer rate. 

12 hits/sec, and 2000kbytes/sec transfer rate.

> 
> I know that these numbers depend highly on operating system and
> hardware, but I�m not looking for exact numbers, just something to
> compare my measurements to and get an idea if I have room for
> optimization left.

It really isn't possible to give general numbers that have any meaning.
The above could well be the maximum in some situations.  In some you
should get over 500.  The loads vary so widely that even ballpark numbers
are useless without giving them in refernce to what they apply to...