Should I go for MySQL PS?


#1

Can anyone tell me if using a MySQL PS makes a big difference to WordPress? I’d be delighted to hear about anyone’s real-world experience.

I have a WordPress site on a Web PS which is doing well for visitors but is quite slow to serve pages. I’ve got W3 Total Cache running, using XCache and a separate CDN for graphics (wpcdn.com), but it’s still delivering pages in a typical 3-4 seconds. I really want to get it down to around two seconds or better :slight_smile:

I haven’t been able to find anywhere on the web where anyone suggests/recommends that a MySQL PS will help appreciably in this situation, so I wonder if anyone here has any thoughts?

Cheers,

M :slight_smile:


#2

Take a look at what is causing the load times, it may not be the server itself, but could be the CDN


#3

I hope this will give you some ideas how to optimize your web pages.


#4

Thanks, guys, for the recommendations.

I’m already doing what I can with PageSpeed. There are obviously a lot of factors in play – not least of which are elements that load from Google itself, like ads and the CSE search box code.

I was wondering, though, if anyone is using a MySQL PS to speed up database access on a WordPress site, and what sort of gains lashing out the extra cash might deliver. I’ve found references on the web to DH’s shared MySQL servers being considered slow, but nothing to say the PS variant is any faster. It’s almost like nobody is using a MySQL PS, but I’m sure that can’t be the case.

So, is anyone using the MySQL PS/Wordpress combination, and if so, does it deliver a noticeable performance improvement?

[later] Just a thought – the site is here if anyone wants to take a look themselves with PageSpeed :slight_smile:


#5

After reading wpcdn.com.
It talks about serving content nearest to the person requesting the static page.

It is possible, the server which is closest to you may be slow one.
While other people may actually have the website load in around 1 second.

Page which i got this from: http://www.wpcdn.com/cdn/wordpress-acceleration/
(WPCDN can speed up your website(s) significantly by storing your static content (for example images, JavaScript and CSS) in multiple locations on the network, and serving them from the location closest to each visitor.)


#6

Did you ever give it a shot? I’m actually about to try out on my own new blog. My problem isn’t actually the site load times. I’m using SuperCache with nginx and FASTCGI on the backend of my PS (instead of Apache and mod_php), and the site loads real quick.

My problem is that the admin site pages themselves take longer to load than even when on the shared server. I’ve got Xcache installed, and based on some benchmarking I did with ab (the Apache benchmark app), that’s helped the PHP script performance when the cached static pages aren’t hit, but if I go to the recent posts page of the WordPress admin site e.g., it takes 5-10 seconds to load the first time around, and after that, for the next few minutes that page loads quicker, but nowhere near for as long as the 60 minutes that each page is supposed to be cached for.

All this makes me wonder if I’m hitting up against a MySQL bottleneck, where the cache time is a lot less than 60 minutes. with a MySQL PS, I’ve got more control to fiddle with the DB cache settings.

I’ll post my findings when I have some. I just requested the MySQL PS migration earlier today, and they say it could take a day.


#7

So I tried MySQL PS, and for a smaller blog (a few hundred visitors a day based on Google Analytics/WordPress.com stats) and it didn’t solve my problems with the admin site slowness. I don’t think the DB is the root of my problems, so I’m canceling the MySQL PS within the free one week trial.

@mpclark, if you’re already using W3 Total Cache, then the SQL server is no longer the bottle neck. Especially with Xcache, it’s all being served out of memory. Make sure you’re not even using the enhanced disk cache mode. You should also bump up the memory on Xcache (copy your PHP INI file from your regular PS if you’re on one to ~/.php-ini and look for the xcache settings at the end, then do a ‘sudo /etc/init.d/nginx -s reload’). The W3 Total Cache FAQ recommends at least over 50 meg for the cache and on a DH PS, the default for me was 16. Even for my small blog, only after I went up to 128 megs did I see Xcache not max out immediately.

Oddly enough, those 128 megs didn’t reflect in the Dreamhost PS resource usage panel, but until I went that high, I always saw the memory usage on Xcache max out within minutes. Now it stays at around 70% usually. If you look at the source for Xcache, there’s a folder called ‘admin’, which you can set up on your server to monitor the status of it. You don’t actually need to compile your own copy, you just need the PHP scripts from that folder and to enable it and a password in your php.ini.

One thing to keep in mind is that if you’re looking at your own pages, you’re not going to get the cached copies. WP sees you are logged in and serves you dynamic results again.


#8

@jschuur, thanks for your informative posts. This is exactly the sort of experience I was hoping to hear about – although it is sad that adding a MySQL PS is not the quick and easy way to boost performance I hoped it might be.

I shall try bumping the Xcache memory like you recommend.

Mike :slight_smile:


#9

@mpclark: If you’re not already using a caching mechanism (and serving the whole site dynamically), I’m not ruling out that a MySQL PS might help, but because of the insane effectiveness of the file or memory based caching abilities available, I don’t think it’s needed. A dedicated MySQL PS would be a smart move thing for a popular forum or web app.

Xcache by itself will only do ‘opcode’ caching, i.e. keep the PHP scripts in memory in a format where they can be run again faster when you’re serving the site dynamically. Most caching schemes however will create site pages as static content (either on disk, or kept in memory), so PHP isn’t even executed. In this case, Xcache alone isn’t what would help you here either.

As I understand it however, the W3 Total Cache plugin uses Xcache for memory based caching of static page content, so that when you combine the two, it definitely does help. At least I think that’s the case. I just posted to the W3 Total Cache support forum to [URL=http://wordpress.org/support/topic/plugin-w3-total-cache-xcache-clarification?replies=1]get some clarification on that[/URL]. Since keeping static content in memory is going to beat slower disk access of cached content, memory based caching is preferred, although at the cost of increased resource usage, especially for sites with a lot of pages.

My particular case of dissatisfaction with MySQL PS was because it simply didn’t help me with a [URL=http://discussion.dreamhost.com/thread-127267.html]WordPress admin site slowness problem[/URL] that you don’t seem to be reporting. My hunch is in your case it’s either the Xcache cache size or you’re logged in and getting uncached content by design.