Thanks to the opportunity given to me by guys from LoadImpact.COM i recently tested my Linode 512 MB VPS with advanced load levels, simulating well-almost a “slashdot effect”. And while my WordPress blog was able to withstand a maximum load of 250 simultaneous users (that’s what these guys use as a measure of load simulation) for one of my client’s Drupal installation numbers were not really that good. Take a look at graphs with comments after the break.
First, here is a 10-to-210 users scenario applied to a Linode 512 VPS with LEMP + eAccelerator on it. Linode VPS was located in Dallas, TX and test server of LoadImpact used is in Seattle, WA:
So i wanted to go further and increase load with 250 (260 in my case) simultaneous requests. Datacenter used this time is in Washington, DC :
Numbers are still good. And here is another test i did for a very simple Grails application:
Awesome numbers. Just because it barely has any CSS or images to it. Let’s look at the server load graphs:
Two big spikes for WordPress tests (CPU at 90%) and little one after – is for Grails app test.
Now let’s get to the Drupal setup test which is also using Linode VPS 512 with LEMP setup (eAccelerator is on):
Things don’t look that good, just because in order to load each page Drupal is doing a lot of work, much more than my WordPress blog application. Although with such a delay, numbers out of the server load graphs are very low:
26-28% load on CPU with absolutely no spikes.
Summarizing all of the above it is important that you do enough testing before you launch any major web application or site and LoadImpact.COM i think, is the right place to do that.
This research also shows weakness of php frameworks, such as Drupal and Joomla, where a lot of code gets executed before a simple page gets displayed. Thus, whatever it is you are working on – remember choosing right server size and application platform is a key.