How many time did you find yourself in a situation where you need a reliable, stable and strong server? How to even determine if your server is stable enough? How to know what kind of continous load can it handle? Will it crash if it gets under heavy load for a couple of hours? Well, today, I’ve found myself in a situation like that. I have installed HyperV on some server we have at the office and wanted to see how it will perfom under extreme heavy load and how stable everyhing was .
By extreme heavy load I assume about 200 concurent users clicking every 1-3 seconds on a random page that is being served on the server . When you look at the number of 200 concurrent users, you can say: ” Hey, 200 users isnt that big of a number for a server to handle” …and you would be absolutely right :)… if the server i was trying to “kill” didnt have 1 cpu core and 1 gb of ram assigned to it 🙂 .
So..the point was to simulate real life conditions as much as possible. To do that, once more, I turned to Linux and the little piece of awesome software called “Siege”. You can download it here. The software is able to simulate almost real user like behavior on a web page. It can randomly open link in a specified interval, simulate 200+ users at the same time without any problems and so on.
To do some proper testing I’ve installed some php+mysql and asp.net+sql2008 applications to simulate a real-life scenario as much as possible. As we all know, one of pretty hungry applications for Linux is Joomla for the PHP+MYSQL combination and DotNetNuke for ASP.Net and MSSql combination. All cacheing techniques on the application and the IIS were turned off so we can maximize the load to the server.
The server is based on Windows 2008 Server R2 Standard Edition and SQL Express 2008 .
I’ve told Siege to simulate 100 users on the Joomla site and 100 users on the ASP.Net site for 24 hours. At this moment, tests are running for 6 hours and everything seems to be in perfect order. Here’s a couple of pictures 🙂
As we like to say it..BURN BABY BURN! About 16 more hours to go under 100% cpu 🙂 Results are coming soon…in about 20 hours 🙂 more or less ….