I’ve been messing around with servers lately. Server administration has been the bane of my web development existence for quite some time now, but I’m slowly getting the hang of it now thanks to some excellent lessons from Kaspars Dambis and Simen Thorsrud.

In the interests of kerbing my curiosity I went on the hunt for a tool to let me DDOS my own site and provide me with some nice little graphs to show me how slow (or fast) it is under heavy load. The tool I used was blitz.io which I found via Ryan McCue and Anthony Cole.

I knew the new server I had setup for RyanHellyer.net was running significantly faster than th server it had been on until recently, but I was still rather shocked to see the results. My old server was a 1 GB RAM VPS hosted at Uberhost.net; it was a bog-standard cPanel setup. My new server is a 512 MB RAM VPS hosted at linode.com running NGINX and APC. Despite having half the RAM I still expected my new machine to outperform the old one. The final results however showed a rather spectacular change in performance.

Old Uberhost cPanel box

During the test I could not access the site at all. It totally locked up and was inaccessible. The report said 29 hits, 15 errors and 3098 timeouts. So basically, it only loaded 29 pages within a one minute test. 99% of the users attempting to visit the site failed to load the page.

Load test result for old ryan.hellyer.kiwi server

New Linode box

During the test I noticed a slight lag in the page when I attempted to load it, but nothing major. The results came back with 12108 hits, 142 errors and 355 timeouts. It maxed out at 962 concurrent users, but around 15% of the pages were being reported as timeouts. Up until 250 concurrent users there were no timeouts or errors at all. At 500 concurrent users, 1.7% of users were experiencing failed page loads.

blitz.io result for ryan.hellyer.kiwi

Conclusion #1

My old server can handle around 29 users per minute. New server can handle around 500 before user experience drops and still works even at 1000, albeit users will have to wait a few seconds for the page to load and occasionally they won’t load at all.

Conclusion #2

You should go sign up for an account at blitz.io. It’s great fun seeing how your site behaves under extreme load conditions, not to mention the practical uses in helping you find bottlenecks and potential problems that you may experience when your sites’ traffic climbs.