Note also that benchmarks that return requests per second are seldom actually benchmarking what you think.
Consider a server that can handle 1000 parallel connections, but each request takes 10ms. The max throughput of that server is 100,000 requests per second. However if you open 1 connection and run it as fast as possible, you will only measure 100 requests per second. If you open 100 connections and run them as fast as possible, you will still only measure 10,000 request per second.
On the other hand, I server that can only handle 10 parallel connections, but each request takes 1ms has a max throughput of 10,000, but will measure 10x better than the previous server in small numbers of connections. You are measuring latency not throughput!
Finally a server that can server 100,000,000,000 request per second, but each request takes 10 seconds is pretty useless!
Rather than offering as much load as possible (which often stresses your client more than the server) and measuring throughput, it is a far better test to offer load at a fixed rate and measure latency (ave, medium and max). If you want to know the max through put, then keep increasing load offered while the measured latency is within an acceptable quality of service.