Recently in Optimization Category

Gather round the campfire kids, and listen to this cautionary tale.  If you are reading this blog you probably heard about Trendolizer, my trend-tracking website, powered by Movable Type.  Recently I noticed the server load for it was constantly over 20, with multiple run-periodic-tasks instances running at 100% processor use all the time.  Not good!

I recently came across two Movable Type installations where the owners were complaining about the slowness of searching, commenting and submitting public entries.  In such cases, often the server load is suspected, or maybe the database is the bottleneck.  However, in both cases a different culprit turned out to be slowing things down...
Are you using Memcached in combination with Movable Type, and are you using the caching options on one or more of your module or widget templates?  Then have a look at these bug reports (106215106287), as they might affect the performance of your installation quite negatively.

Memcached is a great way to speed up rebuild times and interface speed in Movable Type.  If you have control over your own server, setting it up is actually not that difficult.  Basically you install and start a memcached daemon and then you tell Movable Type to start caching data in it by setting a MemcachedServers directive in mt-config.cgi.
A while ago I needed to be able to display a list of images along with the blog entries in which they occurred.  Movable Type has an <mt:EntryAssets> tag that makes it very easy to show a list of entries with the images in them, but the reverse tag (<mt:AssetEntries>) didn't exist, unfortunately.
When faced with a Movable Type blog that is sometimes slow to publish, you could immediately break out the heavy guns and set up some performance logging to try and find out which templates are taking too long to publish.  There is an entire section of the documentation dedicated to this.  But before editing configuration files and starting to pore over logfiles, don't ignore the humble <mt:ignore> tag...
A few days ago Endevver announced a new plugin to the Movable Type community: Template Optimizer.  I just installed and tested it, and it looks impressive.  The plugin scans all templates of one or more blogs on your Movable Type installation and offers a number of suggestions to improve efficiency and speed of publication.
In the previous article in this series I talked about how you can set publication of certain templates to 'Manually' to speed up publishing of your blog.  Today will discuss setting up caching and server side includes, and the reasons for using them.  The first reason is pretty important: if you don't use them the sidebar(s) on most of your Movable Type blog will constantly be out of date if you are using the default templates.
Overall, Movable Type has some pretty decent standard templates.  Optimized for SEO, standardized class names and IDs, nicely separated in modules...  There is some learning involved if you want to understand all the conditional stuff that is going on under the hood, but once you know what you are doing they are quite easy to maintain and customize.  Not to mention the styles that are already available.