By Paul
Sites With Huge Amounts of Data
First, make sure you're running 7.0.6 or newer -- this version contains performance fixes for large databases.
If you have thousands of categories/subcategories, the regular forum selector on the suggest listing/forum pages will fail because the full selector options can't be generated due to memory or time limitations. Switch the level-based selector -- it'll work with millions of categories. This switch will normally happen automatically, but if not go to Admin -> Settings -> Switches.
If you don't have any categories set to be invisible to specific usergroups, go to Admin Panel -> Miscellaneous -> Tweaks Editor and turn on the 'noinvisiblegroups' tweak. This will speed up many queries as it no longer has to check if the listing is in a visible forum for the viewing member.
If you have hundreds of thousands of members, switch off the "keyword subscriptions" at Admin -> Settings -> Switches to reduce queries of the members table.
If you have hundreds of thousands of listings, the listing details page may become slow. First, remove the next and previous pages area from the listing details template:
<p class="center">
<IF {PREVIOUSEXISTS}><a href="{PREVIOUSURL}">{LANG_DETAILS_PREVIOUS}</a></IF>
<IF {PREVIOUSEXISTS} and {NEXTEXISTS}> | </IF>
<IF {NEXTEXISTS}><a href="{NEXTURL}">{LANG_DETAILS_NEXT}</a></IF>
</p>
With large numbers of listings in a directory, the effective time and expirations switches slow things down due to their need to get a live running total of listings that haven't expired or have become effective -- turn them off if you don't need them.
If the 'show listings in forum' page is slow, remove
<IF {SWITCH_TOPICTYPES}>
<!-- BEGIN TYPE TOTALS -->
<br /><span class="minilabels">{TYPEDISPLAYNAME}:</span> {TYPETOTAL}
<!-- END TYPE TOTALS -->
</IF>
from that template (the live totals of each listing type become very slow with a large listings table).<!-- BEGIN TYPE TOTALS -->
<br /><span class="minilabels">{TYPEDISPLAYNAME}:</span> {TYPETOTAL}
<!-- END TYPE TOTALS -->
</IF>
If you have millions of listings, insertions (the addition of a new link) may become impractically slow to the point of breakage. To fix this you need to switch off 'similar listings' and use phpmyadmin to delete the fulltext index from the _links table of the database.
To speed up search results, you can enable the 'nosearchsort' tweak at Admin -> Miscellaneous -> Tweaks Editor. If combined with setting mix listing types to 'yes' in the type manager, this will stop all sorting of search results, which typically improves speed very much, though decreases relevance (note it doesn't apply to distance searches).
You may also need to be careful about the member rating forumla and listing importance formula you use. The default formula is a simple one that won't be a problem, but if you've changed it to something server-intensive (or originally installed a very old version which had a more intensive formula):
1) Go to Admin Panel -> Members -> Settings and change the rating formula to something simple.
2) Go to Admin Panel -> Settings -> Listings and change the importance formula to something simple.
If searches are running slow, go to Admin -> Settings -> Search and turn the "Faster Any/All Words Search" option on. Then selected fewer searchable fields, if possible. The mysql fulltext search type will be the fastest but only for titles and descriptions. Of the others, 'contains' should be fastest.
Sites With Heavy Traffic
If your load levels have grown excessively high due to your large amount of traffic, consider whether or not you can use the cache system for guests. The cache system will make repeated loads of the same page by different people drastically faster.
If pages take too long to load sites should ensure that they do not have an excessive number of toplists on a page. If server load is an issue you may also want to consider turning on caching for the guest usergroup (Admin -> Settings -> General), perhaps triggered by a server load over 3.
If excessive RAM is being used, turning off some switches (such as private messaging and instant messaging) helps. Upgrading to PHP 5.4 will also save memory.
Admin Panel -> Settings -> System also offers an emergency load control mechanism, and Admin Panel -> Settings -> SEO allows you to throw 404s to any rogue bots or denial-of-service attackers.

Print
Rate
E-Mail