WordPress Optimization Guide By Dreamhost

Dreamhost has a section on their Wiki explaining detailed ways on how to optimize WordPress using such tools as WP Super Cache, Nocache, Fcgi, and various combinations of the latter. I don’t understand the gobbily gook presented within the document but if you’re using your own dedicated server or VPS, these tips might be of interest to you. An aside but also interesting article regarding WordPress configuration tricks was published by Jeff Star on the Digging Into WordPress site back in 2009. Lesson learned is that the WPConfig file that is apart of WordPress is pretty powerful.

6

6 responses to “WordPress Optimization Guide By Dreamhost”

  1. Mostly, that page is talking about how to use WP-Super-Cache. That works quite well on their systems using fcgi, mostly because super-cache serves static pages, which never have to spawn PHP processes.

    On my Dreamhost VPS, I switched to nginx instead, and am using W3 Total Cache to do memory based caching with XCache. This seems to work quite well, although I don’t think nginx is quite as stable as Apache on their VPS configuration. This gives me very fast PHP processes, low numbers of SQL queries thanks to object caching, and full page memory caching. It does take a tad more CPU, and a fair amount of memory, but it seems to chug along just fine. nginx is a beast at statically served files, images and such load up quite fast.

    Only disadvantage is that page generation is still dynamic and requires CPU, but frankly I prefer it that way. Gives me more flexibility, even if it is a bit slower.

  2. @John – It’s not that complicated, really.

    My nginx config basically looks like this:

    if (!-e $request_filename) {
      rewrite ^/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
      rewrite ^.*$ /index.php last;
    }
    

    The first one handles the silly /files/ thing in multi-site (which I’m planning on eliminating soon). The second is the main WP rule.

    For W3 Total Caches nginx support, it writes an nginx.conf into the WP root directory. So I just symlinked it to the right place for my own nginx config directory.

    For the W3 settings, I basically turned on XCache support in my dreamhost config panel, then used it everywhere in the W3 settings. Then I enabled the Page Cache, Object Cache, and Browser Cache modules. All three are set to use the XCache to hold their data, so the cached info is stored in RAM, basically.

    The Page Cache does whole-page caching, and is nice and fast for repeated queries to the same pages, for logged in or anon users.

    The Object Cache does object caching, and causes my admin section to be nice and speedy, since things like posts and such are pulled from memory instead of the database.

    The Browser Cache basically just sets the proper expire headers on everything, thus images and such don’t have to be redownloaded all the time.

    I don’t use the other bits of W3 mostly because they’re unnecessary for my setup.

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.