Movable Type: Slow rebuilding, slow commenting.

Movable Type is too damn slow. It takes me too long to post an entry. It takes my users too long to post a comment. I’m sick and tired of this.

I’ve tried in vain to address the problem. I rebuild very few of my index templates upon a new entry/new comment post; almost everything, including RSS feeds, is rebuilt periodically via cron using mt-rebuild. I’m trying to put the least possible strain on MT, but it’s still having a nervous breakdown. I feel as if I’m towing a battleship with a tugboat.

Six Apart has published a marginally useful guide to speeding up Movable Type rebuilds, suggesting a couple of fairly predictable strategies and a few little known strategies (such as LaunchBackgroundTasks, which didn’t seem to help me at all). My MT installation is highly customized and highly tweaked, and the suggestion to move to dynamic publishing is an untenable one. None of the old Perl MT plugins work in dynamic, PHP-based Movable Type. You might as well throw that suggestion out the window.

However, the biggest problem with MT’s sluggish speed is the Category Archiving. It’s poor application design a default Category Archive template which doesn’t scale, plain and simple. As a blog’s category archives swell, the sluggishness of the rebuild process grows. By default, all entries are included in category archives. This is terrible. There’s no way to paginate the category archives, creating both a huge strain on the server and a ridiculously large page served to one’s users.

I attempted to circumvent this problem by creating two category archives: a default archive with 10 entries and a complete index with the rest, but this didn’t help one bit. In fact, it hurt. The complete index still had to be rebuilt, along with the default index, each time I posted an entry or a user commented. In large categories, e.g. my rants, the rebuild process to generate the complete index is a burden.

I am frustrated and the band-aids from 6A haven’t helped. If I were starting a blog today, it would be on WordPress. As it stands, the work required for me to move to WP from MT would be massive. So what is my hack workaround for the short-term? To delete the complete index Category Archive template from the template map. I’ll add this in periodically, say once or twice a month, and rebuild the Category Archives manually. That’s how I have to generate my Category Archives now—by hand.It sucks, but I sacrifice for my blog.

UPDATE: With the help of Peter R. Wood, I think I’ve worked out a pretty good solution.

7 Responses to “Movable Type: Slow rebuilding, slow commenting.”

  1. 1
    Peter Says:

    Check out my archives - look at any of the category archives that have a lot of entries, and you’ll see my solution. It works pretty darn well, and saved a LOT of time on rebuilds.

  2. 2
    tom sherman Says:

    Ooooh Peter, that is a damn good idea. Would you mind sending me a snippet of your template code (specifically the logic surrounding MTEntries) to save me the time of hacking it out myself?

  3. 3
    spudart Says:

    I’d be curious what you think of Expression Engine. I’m moving my website on pmachine to that soon.

  4. 4
    tom sherman Says:

    I looked into EE a while back. If I remember correctly, I liked its interface but it was not as flexible (at the time) as MT and lacked the support community. Perhaps that’s changed, particularly with the change in licensing of MT3.

    Suffice it to say that I’m not too enamoured of MT3 and don’t think it adds much over MT2.x, despite Six Apart interminable (and very annoying) drumbeat to the contrary.

  5. 5
    Anil Says:

    Sorry you’re frustrated with the performance of MT. There may be a few ways to improve performance on the archiving that you’re doing which weren’t covered in the article you linked to.

    First, most of the static page plugins have dynamic publishing equivalents as well, and I’d be glad to help you find them if you’ve struggled with that. Have you tried converting *only* your category archives to dynamic publishing?

    I’d be glad to help out if you want some more guidance on making MT more satisfying to work with, and I think once you see version 3.2, you’ll find a number of features that inarguably add a lot vs. version 2.x or vs. any other tools out there.

  6. 6
    Diesel Says:

  7. 7
    Jane Says:

Leave a Reply

or Login for hassle-free commenting.

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>