I just wanted to share some benchmarking results I did on our soon to be launched site using EE2..
I’m running NGinx with PHP over FastCGI. Using “ab -n500 -c20” for benchmarking I got the following result without any caching enabled:
Requests per second: 8.53 [#/sec] (mean)
Time per request: 2345.393 [ms] (mean)
Time per request: 117.270 [ms] (mean, across all concurrent requests)
Transfer rate: 152.71 [Kbytes/sec] received
I then enabled the caching mechanism of EE2 and got these results:
Requests per second: 47.33 [#/sec] (mean)
Time per request: 422.547 [ms] (mean)
Time per request: 21.127 [ms] (mean, across all concurrent requests)
Transfer rate: 848.14 [Kbytes/sec] received
Hey, that’s a 455% performance increase on Requests per second! Not bad. But let’s try something else.
Our site will no use EEs commenting system or login, thus making full page caching a bit easier. Let’s see what happens if we enable NGinx FastCGI caching:
Requests per second: 779.10 [#/sec] (mean)
Time per request: 25.671 [ms] (mean)
Time per request: 1.284 [ms] (mean, across all concurrent requests)
Transfer rate: 13768.96 [Kbytes/sec] received
Whoop! A 90x performance increase! That’s really nice. If I increase the Concurrency Level to 50 or so (which would otherwise starve the server completely) I can get 8-10000 requests per second.
EE2s caching is nice, but using the one in NGinx allows pages to be served without touching PHP at all, giving us blazing speeds! 😊