How to Generate Millions of HTTP Requests (2012)
1–10 of 26 posts
Re: How to Generate Millions of HTTP Requests (2012)
#2Re: How to Generate Millions of HTTP Requests (2012)
#3There are plenty of different HTTP benchmarking applications for Unix OS' but I still have not found a good one for Windows. Anybody come across one?
Incidentally, I've not read the linked article, but skimmed the first few paragraphs. The numbers of requests per second that he was able to generate with various tools seem remarkably low. ApacheBench is the least performant load generator since it's only single-threaded, but it can generate tens of thousands (about 25,000) requests per second on a i7 desktop machine. Wrk can generate significantly more since it uses all CPU cores of the load-generation machine.
Re: How to Generate Millions of HTTP Requests (2012)
#4Re: How to Generate Millions of HTTP Requests (2012)
#5Another tool I have been using on my personal project is wrk [1]. It's pretty simple to use and can generate thousands of connections with multiple threads. [1]: https://github.com/wg/wrk
Re: How to Generate Millions of HTTP Requests (2012)
#6There are plenty of different HTTP benchmarking applications for Unix OS' but I still have not found a good one for Windows. Anybody come across one?
The only thing missing would be an out-of-box solution for distributed load generation, which I believe is being developed. But today, you can use a 'scale-out' approach[2] which gives you the ability to combine the data from multiple Gatling instances into a single report, but as a post-process step.
[1] http://gatling.io [2] http://gatling.io/docs/2.1.5/cookbook/scaling_out.html
Re: How to Generate Millions of HTTP Requests (2012)
#7Re: How to Generate Millions of HTTP Requests (2012)
#8See also Siege ( https://www.joedog.org/siege-home/ )
Re: How to Generate Millions of HTTP Requests (2012)
#9Re: How to Generate Millions of HTTP Requests (2012)
#10See also Siege ( https://www.joedog.org/siege-home/ )
There is a warning in the configuration file against using keep-alive with no explanation as to why. That makes it useless when you need to benchmark persistent connections.
Each Siege "user" (i.e. client) has it's own thread, which means they consume a large number of resources. Depending on your CPU, you will also hit a point where more time is spent switching between threads than actually sending requests. I wasn't able to exceed 400 users on my 2011 test machine. That makes it useless when you need to benchmark large numbers of connections.