When I was using shared hosting I had many problems. Most common problems were: Downtime, slow webpage load time, response time higher than that of Google PageSpeed recommended value, occasional downtime, unstable connection.
I switched to a VPS using a Virtualmin panel. Load times and response time were improved and so was my experience. I was happy with solution until I got hit by Reddit. I was lucky that my post was published in a sub category. Server was handling the load quite well. When effect was at it’s max load time for a user increased to several seconds. That got me thinking, what if I get hit again? Unlikely, but it could happen one day. What about sites that serve that many connections each day? Is it possible to optimize $10 VPS for such load?
10 Million hits a day with WordPress using a $15 VPS
While looking for tutorials I stumbled on a great post by Mr. Ewan Leith 10 Million hits a day with WordPress using a $15 VPS. He was able to set up and optimize $15 VPS to handle 10 Million hits a day using WordPress. He is an IT Architect and knows Linux and web server stuff really well. By using Varnish and Nginx he was able to set up a web server that could handle 10 Million hits a day with WordPress on a cheap VPS. Wow, that’s awesome. He really knows his stuff. In the end I decided not to proceed with his example as I didn’t have time. Recently when I decided to try with his tutorial I found similar post titled 40 Million hits a day on WordPress using a $10 VPS by Mr. Kevin Ohashi. He was able to rise Ewan’s achievement to 40 Million hits per days and even to staggering 136 Million hits per day. Wow, just Wow. He is also the man, with the help of ASO technician he was able to optimize web server configuration to reach that potential.
I don’t have deep Linux knowledge, by using their tutorials I would need much more time. I doubt I could reach the same result. I also don’t have a friend from a web hosting company that would help me reach their result. Luckily for me I found a great product called Easyengine. If I don’t have deep Linux knowledge this guys do. They have created a product that is based on a configuration that works the best. It automatically installs and configures all the components that make it possible to achieve 10 Million hits a day with WordPress easy. In fact, 10 Million is just the introduction. I don’t want to continue with mine is bigger than yours discussion, instead I would like to show you, speed potential you can achieve in less than 10 minutes without messing with Varnish and Nginx configuration.
168 Million hits a day with WordPress using a $10 VPS
If you are interested in short tutorial you can read my post Setup $10 Speed monster VPS for WordPress in 10 minutes. With this tutorial you will be able to install a new site or migrate your existing website to EE stack. But to keep the long story short, to achieve 168 Million hits a day using WordPress you will need:
10 Million hits a day with WordPress
Once the site was created, I registered for a Blitz account. The same service used for testing by Ewan and Kevin. First, I was interested if I can reach 10 Million hits a day with WordPress like Ewan did. Below is comparison with Ewan’s data:
Both tests show almost the same result. Ewan’s result:
Hit rate look almost the same on EE stack:
Ewan’s response time is 20ms. That’s a great result. After 5 seconds it fell to 9ms.
Easyengine implementation started off at 50ms and fell to 20ms after 5 seconds. Test was a success, 10 Million hits is possible with EE.
40 Million hits a day on WordPress
Ok. what about 40 Million and even 136 Million hits a day using WordPress? Kevin first achieved result of 40 Million hits per day but later increased user count to 3000. 3000 users is some serious load so I congratulate Kevin on optimizations he did. He managed to survive 136 Million hits.
Kevin experienced what 3000 users can do to the server, his stats are as follows: AVG. HITS 1,585/SEC, 95,26% hits were successful (95,116 successful hits) but 4,74% (4736 hits) were not successful. Error rate of 4,74% is not bad, not bad for $10 VPS.
Kevin’s implementation started having problems in 20 seconds mark and then again when it reached 40 seconds and again when it reached 56 seconds.
Kevin’s response time started with 50 ms. It fell to 20 ms after 5 seconds. Spike to 150 ms occurred when it reached 42 seconds. This are great results.
168 Million hits a day on WordPress
I was wondering, is it possible to increase Kevin’s load for 33% (to 4000 users) and survive? I was trembling when I pressed button Start and watched…..Houston we have a liftoff.
Test generated 116.805 successful hits. Average hits were 1,947 per second. While Kevin had error rate of 4,47% (4736 hits) with 3000 users, Easyengine implementation only had error rate of 0,02% (18 hits) with 4000 users. Wow, that is Awesome.
Error rate can’t be seen on the graph because it’s so minimal.
Response time started off 171 ms but later fell to 20 ms. It increased to 320 ms in 40 sec and reached maximum of 443 ms after which it fell back.
While it seems that response time is a bit higher than Kevin’s, you should be aware that the load was 33% (1000 users) higher and had almost no errors. In the end, My VPS survived massive onslaught. This example shows that if your server is configured properly it can handle massive load. And that is a beauty with EE stack. Creators of Easyengine used their knowledge to tweak configuration so well that this result is possible for normal people. I am sure that configuration could be tweaked even further and that even greater results can be achieved. If you try EE, let me know how you go.