Now having worked as Technical Director for a web application vendor, for 7 special years, I can’t remember the number of times people used to ’get tough’ with us about the performance of our web application under load. The fact was, that with any web application, heavy load is always going to mean that some sort of ’special’ & ’Not-so-off-the-shelf’ configurations would be called for. And these special configurations would obviously cost time and money to develop and tailor to the customers requirements, and hence the customers disgust at discovering a painful side effect of success in Web 2.0 life.
This of course is a problem which curses any person running off the shelf web products, content management systems, shopping carts etc. Suddenly your site gets a little on the busy side, and your server turns to treacle. It’s natural to want to blame the server guys. And of course the server guys blame the software guys. Sound familiar?
And so we get a call from someone having (what we like to refer to as) ’success’ challenges with a shopping cart package called ’X-Cart’. Basically they found it slow. So slow, that for large periods of time, even viewing the homepage (forget buying) involved making tea. Lots of it. The server people say the servers fine. PHP on the server is fine. What is going on?
After a quick pop into the sickly server in question, we could see that the issues were a little to do with the Application, a little to the Server - but a LOT to do with how requests were being handled between the two. In short, we are looking at a car crash - in a traffic jam.
So we bench X-Cart up in the lab environment. s per usual, we wanted to make this a control test, which is basically load testing the application with absolutely no tweaking of the core services such as PHP & MySQL. We are testing it right off the shelf. As expected, the ’off the shelf’ test of X-Cart didn’t impress.
As you can see in Fig.1 we’re looking at some pretty ’laggy’ scores here. Our ’rush test’ which subjected the applications to almost DOS levels of traffic (100 users with 2 new users every two seconds) managed 4 pages a second, 106 hits / second, and average throughput of 191kb/s and the