15th October 2007. That was the date when this blog was born. And it has just passed through its first Anniversary, quietly without a single post announcing it. Since then, blogging became like a second life for me and now I cannot imagine myself without blogging anymore.

In this one year, this blog has achieved moderate success and is getting about 3-6k pageviews daily.

pageviews

This blog is live due to some excellent web hosting service provided by Lunarpages.

plan I had preferred a shared hosting plan from Lunarpages, just like most of the starters and at that time it had touted providing 15GB of web space with 1500GB of BW each month. This has now been increased to “Unilimited” web space and “Unlimited” Bandwidth.

Like most of the beginners, I was not knowing that this huge web space and huge BW is just a misnomer. No website can actually reach there, because much before reaching that point, you will be choked by another of the rider, which a beginner might never have anticipated.

All was going well, till three days back, when I was just preparing to renew my Web Hosting Account from Lunarpages, for another one year.

Suddenly, I found a mail from Lunarpages Support desk announcing that

…we found your account utilizing excessive resources, causing a significant degradation of services on the server.

Top Process %CPU 65.0 /usr/bin/php /home/webto1/public_html/index.php

Top Process %CPU 59.0 /usr/bin/php /home/webto1/public_html/index.php

Top Process %CPU 58.0 /usr/bin/php /home/webto1/public_html/index.php

Then they offered me to upgrade my account within a few days or face suspension of the account.

I took their concern seriously and the first thing I did was to install the WP-Super Cache plugin, which seems to be doing a fine job for many bigger blogs like QOT and many others. I also reduced a few php requests in my WP theme and contacted LP helpdesk, if it improved the CPU Load.

I received their response after one day, and it said that the load has reduced but it is still not within the acceptable limits.

Here is your resource usage for today:

CPU usage: 3.99

Memory usage: 1.99

MySQL usage: 0.2

Top Process %CPU 64.0 /usr/bin/php /home/webto1/public_html/wp-admin/theme-editor.php

Top Process %CPU 63.0 /usr/bin/php /home/webto1/public_html/index.php

Top Process %CPU 27.0 /usr/bin/php /home/webto1/public_html/index.php

Please note that the acceptable usage range for shared plans is 1.0% average %CPU or less, 1.0% average %Memory or less and Top Processes below 20%.

Then I contacted some of the wonderful people for advice, whom I have met on this wonderful world known as blogosphere. (One thing I find amazing about bloggers. Most of them like Keith, Abhishek, Rajesh, Madhur, Pavan, Haris, Les, Sid and many others are amazingly helpful people and really care for the relationships even for those who have never met them in person).

With their feedback, one thing was clear that the number of my visitors is not that big so as to raise a red flag for CPU usage. It may be due to some plugin causing huge CPU load or something else. A few of them even suggested that LP may be bullying me to purchase their VPS plan. I have heard after you sign up for their VPS plan, they also charge money for transferring your site to VPS and it is nothing less than extortion.

But without getting biased, I took the concern of my web host on its face value and carefully looked at all of the installed plugins. I found the following in my list.

Most of them looked to be innocent except WordPress.com Stats, Akismet 2.2.1, Google Analytics 2.4, WP-Polls 2.31, Official StatCounter Plugin 1.0.

I cannot live without Akismet and Google Analytics (Disabled and hard coded Google Analytics into the theme itself). And I also use StatCounter and WP-Polls. So, I kept them also. But WP Stats looked to be totally un-installable to me. And I just de-activated it.

Now I have just contacted LP to keep me informed about my stats.

I request my readers, visitors and friends, if they have any suggestions to make on what may be causing this huge CPU load. Your comments are invited.

PS.: Shared Web Hosting Plans are a classical case of “Overselling”. I am not blaming Lunarpages, because I suspect that most of the other web hosting service providers must be like them only. But still, I feel like saying bye-bye to LP, just in case I have to upgrade my account. I will consider to continue with them, in case the issue is resolved and they continue to host my blog on their shared hosting account.

Again your comments and suggestions are welcome.

Update 1:

Taking a cue from giedrius, I have disabled the Google Analytics Plugin and hard coded the code into the theme itself.

I am also uploading the screeshots of the settings of the WP Super Cache for comments, just in case I have made some mistake in the settings.

.

.

.

.

.

.

.

.

.

.

Update 2:

I just received mail from Lunarpages announcing that..

As of right now, your resource usage is:

CPU Usage 0.05%

Memory Usage 1.41%

MySQL Usage 0.0%

Top Process %CPU 0.2 /usr/bin/php /home/webto1/public_html/index.php

Top Process %CPU 0.1 [/wp-content/themes/The%20Gazette%20Edition/styles/darkblue/]

As the time now is 00:42 PST, what this means is that during the last 42 minutes, your scripts have used more than the allowed memory for a shared account.

They are still saying that the account is still not acceptable as the memory usage is higher.

One more thing I noticed that there are almost 50-60 Core Dump files in the root directory. The file name is something like core.12345, core.23456 and so on, and almost all of them are of same size of around 18MB. I guess they have been lying here for quite sometime.

File Type: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from ‘php’

Googling that, I came to know that these are binary files created due to some server crash and I am going to inquire Lunarpages about them. They seem to be meant for deletion at my end, but I will delete them after consulting Lunarpages.

Furthermore, on the advice of Michael VanDeMar, I am changing my expire time of Cache Pages to 6 hours (21600 seconds).

Hope these things bring some order.

Update 3:

While I was analyzing the log files of my Webalizer reports, I noticed that out of the Top 10 referring sites, 8 were from IP range 65.208.151.112 – 119. This was strange.

I had never come across this IP range.

On searching a bit, I came across a few more webmaster reporting unusual activities from the same IP range and some of them also linked them to an attempt towards a SQL Inject / Cross-site scripting effort. I do not know much about them.

The whois record also doesn’t reveals much about them.

I am contemplating blocking these IP ranges. What is your take?

Meanwhile I have also hard coded the StatCounter code into the theme files and disabled StatCounter plugin also.

Update 4:

Despite all these steps, and reducing the fat on the theme files, Lunarpages is contantly warning me about the high CPU load and memory usage.

Finally, I have decided to move away this blog to a VPS account, where I will have certain guaranteed memory, CPU cycles and bandwidth. The prime reason being that I cannot afford to remain this blog shut even for one day, because it will cost me more than what I will be paying in a month for my VPS account. After a little bit of research here and there, I have zeroed in on KnownHost, and moved it to their VPS account.

The transition was smooth like a breeze, with zero downtime, and within a matter of few hours, almost 98% of my traffic was being served from the new servers.

But, this incidence has surely made me learn a lot of lessons. I do not blame Lunarpages and would not go that far to claim that they were bullying me to upgrade my account. They might have valid reasons, although everybody has suggested that 3-5k visitors daily, with all unnecessary plugins removed and WP Super Cache Plugin performing to its optimum performance, should easily be within the limits of CPU Cycle amd memory usage. But still, I feel that as a host, they could have done a lot better in helping their clients to identify the cause of the problem, instead of repeating the same warnings again and again.

Thanks, for all the support and advice given by the visitors and friends through comments on this post as well as emails, which really had guided me to dig deeper and understand the process better.

Surely, I feel like I have grown a bit, alongwith my little baby blog, Webtools & Tips.