This site is in part a great big experiment to see if I want to a) change all of my hosting over to godaddy and b) use wordpress as a publishing platform. My initial impressions were good as wordpress seems like a usable platform. I was able to port many of the pages from my old site over to here.
Updated — I did, for the most part, resolve this issue to my satisfaction by changing some database parameters and adding a cache mod to WordPress. Full details, with updated benchmarks using the new configuration can be found on this page: http://www.smbaker.com/more-wordpress-benchmarks-on-godaddy-hosting
However, no sooner did I get to doing some serious site work and I experienced a <gasp!> timeout from the website. I haven’t had a timeout on one of my websites that I can remember in years. So I decided to go to the root page of the wordpress blog and hit the refresh button. Sure enough, there was a bunch of variability in the page generation time.
Being a network guy, I constructed some simple benchmarks and set them to work for about a two hour period while I was off to lunch. Let’s cut to the chase, the first histogram is below.
So what we have a bove is a histogram that shows page retrieval time on the x-axis and number of pages on the y axis. I repeatedly fetched the wordpres homepage (http://www.smbaker.com/wordpress/) of this website every 15 seconds and ran this test for about two hours.
Experimental conditions – the website is a simple wordpress CMS configuration, about a dozen pages online at the time of the benchmark. The WP-Super-Cache/WP-Cache addons are not enabled. The website is receiving no other traffic than what is being generated by the benchmark. The test was run from 11:00am to 1:00pm pacific time. Web package is the godaddy ‘unlimited plan’.
The first thing we notice is that 72% of the pages were served in 0.6 seconds or less. 84% of the pages were served in 1 second or less. Unfortunately, that’s where the good news ends. 8% of the pages took over 2.5 seconds or more to fetch. IMO, once we start getting to more than a couple seconds that’s where websites start looking sluggish. So, 8% of the people who visit this very simple wordpress site will experience a sluggish site. Let’s look into the outlying data a bit closer.
4% of the pages took more than 5 seconds. Of that, 2% of the pages actually took more than 10 seconds. 10 seconds???? A couple of page retrievals took in excess of 20 seconds. This is the year 2010, not the year 1995.
The first thing to do is to factor out non-server related factors. Things like my PC here at home, my ISP, the network connections between my ISP and godaddy, routers, dropped packets, etc. All of the stuff that makes the Internet unpredictable. I was thinking of this ahead of time and I ran a benchmark fetching a static non-wordpress page at the same time as the above benchmark. The “static” page has no PHP. It doesn’t use any database access. Here’s a histogram of its’ behavior:
Here we can see that on a non-dynamic/non-database page, all of the accesses occur in 0.2 seconds or less. That’s enough to convince me that the issue isn’t my ISP, my home computer, or any router in the pipe.
As further anecdotal evidence while trying to update this blog post, I experienced three incidents of timeouts and “page unavailable” errors when trying to commit changes to this draft. I’ve also experienced six more incidents of extremely long load times (greater than 20 seconds) while trying to open simple wordpress interface pages (the edit page, the categories page, etc). I suspect that the database performance is even worse at storing information than retrieving it.
Updated — Read the follow-up entry: http://www.smbaker.com/more-wordpress-benchmarks-on-godaddy-hosting