Andrew just happened to bring up the topic of caching, so I figured I’d look into doing it here. It turned out to be easier than I thought. I’m currently doing two things:
- I enabled MySQL query caching. (It’s smart enough to flush the cache if you change the tables in the query.) WordPress itself doesn’t benefit much (at all?) from this, but my /main (which is a custom-rolled page) benefits enormously.
- I used the wp-cache-2 plugin. (It works fine on wpmu, you just have to put it in wp-content/mu-plugins instead of wp-plugins…. And, under Site Admin -> Options, enable the display of the plugins menu so that you can enable it. I have no idea why that one was off by default.)
I’m benchmarking them using Apache’s ab2 command, which basically just requests the page over and over and sees how quickly it loads. Here’s roughly how it’s working out:
- /main was loading about 30 pages per second. Basically all it does is run some queries and dump the results to the page, so it benefits enormously from query caching. I’m now getting upwards of 1400 pages per second.
- The actual blogs don’t benefit quite as much, but it’s still a huge improvement. Prior to installing the plugin, I was pulling between 2 and 4 pages a second. This is atrocious. The plugin raises it to 160 or so a second.
Based on Andrew’s results, it looks like I could benefit even more from installing APC. I might just do that, but probably not today. In the meantime, I’ll have settled for making page loads 50 times faster. 
I just knocked out four problems here:
- I fixed the problem with newlines not showing up on the main page. It just took a call to PHP’s nl2br().
- I fixed the problem with errors being strewn all over pages about home.php not being found. (It just took creating the file.)
- I ‘fixed’ posts on the main page to display what blog they’re from, as opposed to who published them. (This one took some work; I now have two new functions and a few new queries.)
- The
true old main page (blogs.n1zyy.com/) now redirects here, so it’s easier to find us.
I’ve got a ‘beta’ main page up at blogs.n1zyy.com/main/
A huge thanks to Andrew for help with the query. (He’s a genius, I swear!)
It’s very clearly still ‘beta,’ especially as you scroll further down the page and see that most of the content at the bottom is actually static… And because there’s tons of blank space for no apparent reason. And because I have no idea why it sits there ‘loading’ long after the page is rendered.
And for some reason, linebreaks aren’t being preserved… I need to look into what’s going on there.
Leave a comment about whatever other brokenness you encounter, but in the meantime, well, post!