The one thing with web hosting no matter who your market is there are a few users who cause problems for the majority of the user base. That’s whether you’re selling 10000GB of space or 1GB of space there will be users who do things that are not advised. We at Hawk Host deal with these and it’s growing on a daily basis how many warning emails we’re sending out or users with active tickets we’re working on resolving the problems they’re causing. These always revolve around poorly made PHP scripts, poor MySQL queries or large amounts of traffic that is not traffic worth having. I figured I’d share a few of the most recent ones I’ve personally had to deal with in hopes that other users will not go making the same mistakes.
Poorly Made WordPress Plugin
There is a wordpress plugin that when activated causes large amounts of strain on MySQL servers. This is so bad it’s even bad on a dedicated server due to the nature of the plugin. I believe it has to do with some sort of rss reader system and the ranking of posts but I am not entirely sure. It does not sound bad yet but in every case we’ve had to warn or disable user accounts performing queries that generate millions of rows only to limit them to just a few displayed which is the sure sign of a poorly made query. Some cases the user does not even realize it but with the plugin enabled their site was taking 10-15 seconds to load but they just sort of shrugged it off! It was probably hurting their traffic significantly due to the page load times thanks to the query that even on an empty server would take 10-15 seconds to run!
The Chat Script
There was a web site recently that had a chat system right on the front page of their website available to their users. This was a flash based system querying the server constantly. It was causing a small site to generate hundreds of thousands of page views a day. This meant constant php processes running and constant mysql queries to have the chat system to run. It did not affect their page loads but it sure made a big red warning sign on our end to why in the world is a site using a large amount of the resources. This was the most recent case but we deal with people all the time putting up chat systems on their sites that throws the users straight into the chat. It’s just a recipe for disaster and in most cases once the users realize they disable it. The few say we will host it elsewhere and our site and move and we just sort of shrug as someone using 10% of one of our servers is like a small dedicated server somewhere else. It’s just not something we could afford to give someone or frankly any shared host could do for $10/month or whatever low price the user would be paying. The most frusterating part about these is we clearly state we do not allow chat systems of any kind on our servers.
The one we deal with the most is the shout box which is basically a constant refreshing chat system. A user throws it on every page of their forum and turns that 1000 visitors a day into 100,000 page views. As their site grows it becomes more and more obvious to us what they’re doing and we end up asking them to remove it. We point to our acceptable use policy about not allowing them and explain how little gain the shoutbox provides. The cost to run one outweighs it’s gain and most agree but a few will disagree and believe 100,000 page views to PHP+MySQL is reasonable for every 1000 real visitors per day. We never attempt to retain them as they cost us more than they’re worth having and it only gets worse and their visitor count climbs.
The WordPress Skin
We’ve seen a growing trend of users sign up with us and they provide wordpress skins. The scary part is just how many have not heard of relative links. In some cases we’re used as an image host as all the skins images are accessed via http://thersite.com/skin/wp-content/images/myimage.png rather than the relative link so it would use the users server to display the image. They are worse though some will have PHP code in their skin which will generate a side bar and rather than using a relative include they do <?php include(“http://theirsite.com/skin/sidebar.php”); ?> Or using file_get_contents or something along those lines so that we are used to generate some sort of sidebar. Now the most startling one I’ve seen thus far is one offering the ability to generate thumbnails in their skin. Cool feature except they did not use the relative thumbnail generator url but rather their site’s url to do it. As a result we were now acting as the thumbnail generator for various web sites images which is intensive and doing it a few hundred thousand times a day can really bog down a server and make a site use a lot of resources. A very simple fix in every case except for the sites already using the older versions of the skins.
These are just a few of the common situations we run into constantly. A very frusterating problem as most users never realize what they’re doing is a bad idea. In some cases they do not even understand the problem making it impossible for us to even help. Those cases they may very well just cancel over it and go to the next host with the same problem and repeat the cycle. I figured I’d share a few of the many situations we deal with frequently. These few users cause almost all our problems and if we were to have some automatic system to find all these trouble makers it would save us a lot of time. That’ll never happen though as it’s a tough thing to allow normal amounts of traffic and just the odd intensive thing through while stopping these bad ones that crop up on machines. There are hosts who have some systems in place but they shut down high traffic sites to so they base it off of the number of CPU cycles in x amount of time and the visitors get this nasty message. Those would not solve our problems so they’re not an option and we continue to just look at resources being used on machines on a general overview and when a site is using an abnormal amount we contact them. It would just be great if we could somehow know what a user would run 6 months down the road and tell them it’s not going to work. I’m just dreaming though that’s mind reading 🙂