Knowledgebase
Benchmarking Webservers
Posted by cipherus, 11-11-2010, 03:20 PM | I am trying out new reverse-proxy front-ends and apache/nginx/lighttpd for backend. I have so far been using httperf (developed by HP labs) to try to simulate higher and higher rates of requests per second but I find the software is not doing exactly what I was thinking it would do. Instead of pushing a steady stream of traffic if keeps pushing thousands of requests then waiting then pushing thousands more and waiting... and over a minute it will be true that it averages out to 50-100 requests per second, but you drop a LOT of packets in the process of pushing 4000 requests all at the same time. Really quite frustrating.
Maybe I'm using it wrong but I've read a lot of documentation about it and watched video presentations and powerpoints etc etc. I'm getting nowhere!
What other http/https benchmarking utilities do you people use, and if possible do you have links to very thorough instructions for its use? Preferably CLI utilities only.
|
Posted by drspliff, 11-11-2010, 03:39 PM | Take a look at how many connections are stuck in TIME_WAIT when a 'blockage' occurs. Depending on the # of concurrent users and rate of new connections you may be exhausting the number of open sockets because so many are in a half-closed state.
If this proves to be true you can enable time-wait reuse/recycling modifying the net.ipv4.tcp_tw_reuse and net.ipv4.tcp_tw_recycle parameters.
|
Posted by cipherus, 11-11-2010, 04:20 PM | Ahhh very cool. Yes I had noticed a lot of sockets in TIME_WAIT in netstat. I had removed all the conntrack modules hoping that it would speed up releasing of finished sockets.
And then start up my firewall rules again. I will try tuning those parameters and run some benchmarks again and see if I can bring some improvement. Thank you very much for the advice.
Do you also use httperf or any other load emulation software to test your application?
|
|
Add to Favourites
Print this Article |
Also Read