You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ian Holsman <li...@holsman.net> on 2002/09/16 18:27:50 UTC
Re: Apache Performance On Linux
On Sun, 15 Sep 2002 23:42:25 -0700, Upendra.Samaratunge wrote:
> Hi Ian,
Hi Upendra, I have forwarded this to the apache development list,
as there are smarter people than me on there who could help you, and I
belive that this is a generic enough question that other people might find
the answers useful. (hope you don't mind)
>
> I am a Masters Student doing a bit of research on Apache Server
> performance on a Linux System. Could you please give me some pointer on
> what I should be measuring to get an understanding of the performance of
> Apache.
The first thing you'll need to do is find out 'how' to measure the stats
I was planning on using orcallator (as I'm familiar with it from Solaris)
but net-snmp or 'supermon' might be of interest to you as well
if you know of any others please tell me.. as I'd like more to choose from as
well
The things I look at on solaris are (I'm not sure if linux gives you all
of these, i'm sure it does)
1. CPU utilization user+sys mainly
2. lock contention (ie.. mutex ops/second)
3. context switches
4. memory/swap usage (should always be zero)
5. runqueue (this is a secondary one.. but it people love to see
loadaverages)
6. NFS ops/second (if you have a nfs server in your benchmark)
7. Network I/O (usually in MB/s - you can get this off the switch port)
on the actual HTTP side I would measure:
1. concurrent requests/second
2. first-byte time (time before the server actually sends a response)
3. variability of response times for a given requests/second rate
4. mean/median/std-deviation (average sucks for HTTP type stuff)
things to be carefull of:
1. a client on a 100MBs network will not test the machine the same as one
going over a 56K modem. you will need to get your network setup to
simulate 56k modems
2. decide if you want to test just static pages or a dynamic ones, as it
makes a big difference to EVERYTHING.
3. if you have a budget I would recommend using a machine like
'webavalanche' from www.caw.com, it can do some pretty neat things to
simulate 'real-life'
4. if you have no budget, look at flood, or segue.
5. one thing to be carefull of is that your load generators actually
generate a fixed request/second rate. most of them just hit the server
as hard as they can causing 100% cpu utilization in most cases, or just
produce really sucky results when the response time is slow..
in an ideal world you would want to simulate 5 *new* requests every
second, not 5 requests a second, as this simulates what happens on
'real-life' webservers
>
> Thanks,
> Upendra
Not a problem