Performance testing is always a complicated task. It requires specialized tools and sofware which can be very expensive, especially for small businesses. I am always on the lookout for new performance test tools and a recent finding has blown me away.
Blitz.io is an online performance test tool that is easy to use, cheap and powerful. As always, I have tested it before recommending it to customers. I decided to test a hosted WordPress website on one of our public lab servers. I decided to try running a test that would scale from 1 to 250 concurrent users in 60 seconds to see what would happen.
Within 30 seconds, the server was overloaded. In fact, it was so overloaded that it had to be power cycled to bring it back to life. You can see the failure in the graph above.
It was time to rethink my plan of attack. Clearly, I could generate enough data with the free workload to bring the lab system to a halt. For attempt number two, I only did a test with up to 10 concurrent users. This time, the system survived to nearly the end, but then crumbled. I now had a fairly good baseline.
For the third attempt I enabled Apache’s Alternative PHP cache to see how much of a difference having all of the code cached would make. The results were promising, with one simple change, the system could easily handle 10 concurrent users with acceptable response times in the 150ms range.
Attempt four meant it was time enable caching within WordPress. I installed the WordPress plugin W3 Total Cache and again fired off the 10 concurrent user test. The results were impressive. Response times were now in the 10ms range.
The final test was to try and tune Apache. Because the system is running only 613 MB of RAM, we need to greatly reduce the number of servers Apache was running. The number of servers was dropped to 10 and because I was feeling brave, it was time to run a test with 50 concurrent users. The results were fantastic. Our system could now handle 50 concurrent users with response times in the 20 ms range.
This research took very little time, cost only a dollar to run the Amazon EC2 instance and I had gleaned a lot of useful data. Based on this experiment I recommend that everyone give Blitz.io a try.
Would you like someone to help you with these tests? Give us a call or send an email and we would be happy to work something out.