Ik ben wat aan het sleutelen onder de moterkap van MovableType, om de boel wat sneller te laten ‘lopen’. Ik moest namelijk bij het publiceren soms wel een halve minuut wachten voordat de boel klaar was. Wel nu, na een aantal zaken te hebben aangepakt blijkt het een stuk sneller te gaan nu. Het publiceren duurt nu in plaats van 30 seconden nog maar 3 seconden.

Wat heb ik gedaan?
- alle categorie rss files losgekoppeld van het telkens laten opbouwen
- voor alle categorieën wordt de rss file nu aangemaakt op basis van één archivetemplate
- in de mt-config.cgi de volgende regel opgenomen: LaunchBackgroundTasks 1
Dit zorgt er voor dat je niet hoeft te wachten tot allerlei zaken die moeten gebeuren klaar zijn. Die gebeuren dus op de achtegrond. Een mooi voorbeeld daarvan zag ik net. Bij de vorige posting was posten het in 2 seconden klaar. De posting stond echter nog niet op de homepage, maar was er al wel als individuele posting. Even later kwam het bericht op de homepage. In de achtergrond is het opnieuw opbouwen dus gewoon doorgegaan, terwijl ik al weer verder kon.
Deze instelling staat in dit document waarin allerlei stapjes staan die je kunt uit proberen om de boel sneller te maken.
- een aantal index bestanden die niet steeds opnieuw opgebouwd hoeven te worden losgekoppeld van index.html, zoals de css file.
- een vracht code in een aparte module gestopt en die in de betreffende index files toegevoegd door MTInclude module= te gebruiken. Je vindt dat naast nog meer tips beschreven in dit document

Ik wil ook nog eens kijken naar mijn Category archive. Het blijkt dat dat ook een bottleneck kan zijn. Telkens wanneer je bijvoorbeeld een reactie geeft, moeten de categorieën van die betreffende posting opnieuw opgebouwd worden. En aangezien daar nu de complete berichten in staan, vreet dat natuurlijk performance. Een oplossing zou kunnen zijn om de eerste 10 berichten in de categorie compleet te laten zien, de volgende 5 met een samenvatting en de rest als aanklikbare titel. Zoiets. Scheelt natuurlijk een rebuild tijd. Ik kwam op dat idee door deze posting.

Waar ik ook nog eens naar wil kijken is het dynamisch maken van een paar archieven. Dat wil zeggen dat je dan dus de pijn een beetje verdeeld. Als iemand ergens een archief aanspreekt zal dat archief dan pas opgebouwd worden vanuit de database. Dit betekent dus dat het archief niet steeds opnieuw opgebouwd hoeft te worden bij het publiceren van een posting of reactie.

Ik merk in ieder geval zelf al heel veel performancewinst door de beschreven stappen. De reactiemogelijkheid vind ik nog te traag, alhoewel al wel verbeterd. Dat zou dus kunnen verbeteren door de categorie archive aan te pakken. En al schrijvend realiseer ik me nu dat de postingfooter met al die icoontjes van Technorati, email, cc etc. ook best apart moduletje aangeroepen kan worden via MTInclude module=
Ga ik dus ook eens uitproberen.

Heeft er iemand nog meer ideeën?