LAMP server VS the Internet

Varnish Makes websites FLY

Over a couple of beers one fine evening, myself a fellow Geek were talking about server hosting. He mentioned that he had LAMP server at Amazon Web Services other wise know as AWS and he was pretty happy with his setup, which at the time got me wondering how his setup would perform under load, not in any mood or state to setup a test server I thought I leave it till the next day.

A few days later

After some tinkering and choosing the right OS images I wanted, I had a fully functional server up and running and serving pages. Opening up yee old Skype I then began to gloat about my fine achievement to fellow Geeker whom I had a few beers with. Conversation started south like it normally does then moved on to more serious matters, server performance.

I suggested lets stress test your setup utilizing blitz.io. Thus illustrating the power of Varnish.

The test was simple test of hitting the server with 250 concurrent connections for 60 seconds, Thus telling us how many requests apache can server in a 60 second period.

Our test server has 600Mb of Ram, 10Gb of space and 1 Intel(R) Xeon(R) CPU E5430 @ 2.66GHz core. The sever has been setup with Ubuntu 10 running Apache2 with PHP 5.3 and MySQL 5.x. Apache is hosting one website running WordPress with a few addons. Setting all this up only costs time as AWS does not charge for MINI instances - more on that later.

Dude you just ddosed my server

On the first test we made no changes to the server setup as previously stated, lets see how we fair.

Summary

Blitz.io Rush Test: 12 hits, 7,004 timeouts

Pie Chart - test 1

This rush generated 12 successful hits in 1.0 min and we transferred 479.67 KB of data in and out of your app. The average hit rate of 0.30/second translates to about 25,515 hits/day.

We have bigger problems though: 99.83% of the users during this rush experienced timeouts or errors!

Timeouts

The first timeout happened at 5.41 seconds into the test when the number of concurrent users was at 23. Looks like you’ve been rushing with a timeout of 1 second.

While the test had finished the server had panicked and fell over , we then had to a hard reboot to get the damn thing back, SSH session gave in, the load shot up to 80 , below screenshot is what we managed to get from the server before it went awol.

Loaded 1

continue reading »

Dec13