This post is specially dedicated to Exabyte’s latest customer newsletter, which provide very useful information on how customers could prevent servers from overloading and causing service downtime.
I do agree with what Exabytes have to say, and it is true that I noticed that when the services were down, it was indeed caused by processes using too many CPU and memory resources. However it must also be noted that not all users are efficient programmers, and sometimes the codes simply made to achieve a certain goal without considering the impact to the server resources. This is the user’s fault.
I guess you know that there is a big BUT coming: when I experience service downtime I can see that many many cron (task scheduler) jobs are running out of control on the server. Some of them were even a few weeks old. The processes are obviously user cron jobs. In this case there is a lack of policing activity from Exabytes. When a service is down, the engineers simply restart the service and not do any investigation on what caused the overload.
After receiving an email confirming that the service is already up, I usually go in and check the zombie processes and they are still there, hogging MySQL and CPU resources.
We need to keep in mind that not all users are technical and have shell access like me, and they might not even know that their application / cron job is causing any resource problems. So IMHO it’s the provider’s responsibility to alert users if such case happens.
Now I only serve images on the server, and the server in US actually checks if the user is from Asia and if the Exabytes server is up. If it’s up then the images will be served from there. If not then users will have to wait for images to load a little longer.
Click on continue reading to read the rest of this post.
To prove my point, here’s a snippet from the uptime logs from the particular server I am hosted on:
15:05:27 up 31 days, 8:57, 0 users, load average: 31.47, 20.56, 11.58 15:10:08 up 31 days, 9:02, 0 users, load average: 18.60, 21.12, 14.38 15:15:19 up 31 days, 9:07, 0 users, load average: 16.95, 17.90, 14.86 15:20:02 up 31 days, 9:12, 0 users, load average: 17.08, 18.89, 16.20 15:25:03 up 31 days, 9:17, 0 users, load average: 13.70, 15.04, 15.14 15:30:02 up 31 days, 9:22, 0 users, load average: 12.29, 14.61, 15.11 15:35:03 up 31 days, 9:27, 0 users, load average: 10.12, 12.86, 14.21
For the non technicals – the lower the 3 load averages, the better. It should be around 1-3 for a normal operation. More than that is already considered bad.
Here are some text from the newsletter, for non Exabytes customers:
This paragraph is specially dedicated to the customers on the roles they could play in order to ease themselves in the future. I’m sure there are customers who might think that such roles are to be played by the providers and not them since they have paid the money, of course they deserve to be served well. No doubt customers deserve to be treated extremely well, even better than a king, but sometimes, hosting providers will have to act sternly (and resulting anger from the affected customers) on some of the uncooperative customers to protect the welfare of other customers who happen to be in the “same neighbourhood”. Ain’t easy to be stucked in the middle of such a situation. Any steps taken will definitely cause dissatisfaction among the affected clients ( as aforementioned in the paragraph on “shared hosting”). So, it will be of best or a Win-Win situation if customers can just weigh the pros and cons of the suitable hosting plans they need before purchasing. I’m sure the customer service of any hosting providers will be able to give you an aid on the suitable types of hosting plan that can cater your online storefronts’ needs. And for forums or community portal developers, there are just a few side notes I’d like to add here:
1) Avoid using CMS or forums software that will cause high CPU resources. This is because most CMS softwares causes resources hog when building pages or retrieving images from databases. Those queries that are being run might cause CPU overloading in the server and causes frustration particularly to those in shared hosting plan as Max CPU consumption allocated to shared hosting account tend to be lesser. Try searching on the Internet for a more suitable CMS software to reduce such problem.
2) Take note on your code efficiency as well. It’s also known that besides queries, those not well-optimized codings will exhaust the server CPU processing power and memory in seconds.
3) Pay attention to the forum members’ post and the usage of signatures’ size, avatars’ size and preferably no animations and no overused plug-ins.
4) In order to know if you are “qualified” to change to a higher end package such as Semi-Dedicated Server or Dedicated Server, you can do some checking on your total website visitors or if when MySQL heavy query is needed.
As a conclusion, hope this article can add extra knowledge to you and create a better hosting environment for everyone!