Godaddy database / wordpress performance

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

Comments (3)

  1. Andrew says:

    Hello,
    thanks a lot for your insights!
    I am just checking for a solution and was about to sign the unlimited package with Godaddy. Did you find a proper solution that you could recommend?
    Many regards
    A.

  2. admin says:

    Yes, the solution I found was to create a new database and to *not* check the “allow external access” checkbox. It could have been pure coincidence but I’ve been having almost no database issues since. If there are negative performance implications to allowing external access then godaddy would do well to list them when databases are created, so the customer doesn’t get as bad a first impression as I did.

    Also, make sure to install WPSuperCache for WordPress, or some other cache plugins available. It’ll reduce the impact of database performance considerably.

    Scott

  3. I have 100 domains on Godaddy and i can say that this company is very reputable.”~-

Leave a Reply

Your email address will not be published. Required fields are marked *