3

I'm trying to benchmark and load test various web server setups (mod_php vs php as fastcgi, max/min worker/thread configuration, and so on). I'm starting with ab, but would be interested in other recommended tools for this job. The web server is a Linux server, but I can run Windows based testing tools from my desktop machine if need be.

I'm also interested in any recommendations as to technique. For example:

  • I'm assuming I'll get more useful results running from a separate machine doing nothing else (as opposed to running on the same machine as the web server, or on my desktop machine as a background process). Is this correct?

  • Likewise, I figure I can reduce the effects of network issues on the testing by putting that machine in the same data center on a private IP.

  • I'll want to setup more than just a single file to get any sort of real test (can I even do this with ab?).

Any other tips?

1
  • +1 very good question where this kinda of test may help you to best tune your webserver. Commented Aug 28, 2010 at 17:13

1 Answer 1

2

I like to set up a classroom of computers who run siege.

I crawl the website once using wget

wget -r -l0 -np -O /dev/null http://domainname.com // Note that the -l0 means that it will recurse infinitly, depending on your site, // you might want to change that to something lower, say ... -l3 // This will crawl the site, and throw all the contents away. 

Then I fetch all the unique URLs from the serverlogs by using a oneliner like this:

awk '{ print "http://domainname.com"$7 }' access.log | sort | uniq 

Then siege can be set up to use this file, and will then attempt them in random order.

siege -f siegeurls -i -b 

It can also be configured to send various headers, set useragent and whatnot.

I'd recommend that you take a look at siege. This is the setup I use when I test website-rigs myself.

4
  • Please provide some links to your proposed solution. Commented Aug 28, 2010 at 17:12
  • Could only add one link because of my reputation. I added some more information about what I do. Commented Aug 28, 2010 at 18:40
  • Nice. If only I had a classroom. :) Commented Aug 28, 2010 at 23:16
  • Well, you can do the exact same things locally on the server itself, or "use what you have" in the network. We use a classroom when we want to simulate loads that are heavy for Norwegian websites. E.g. ~200k requests per second. How much traffic do you want the rig to be able to handle? Commented Aug 29, 2010 at 19:43

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.