Chroder
10th August 2007, 02:02 AM
vBulletin has features to satisfy just about every need. But once you start attracting in tons of users you might find yourself in a situation where your server is really bogged down. Before throwing more hardware at it, there are several settings you can tweak to help manage the new stress.
Enable Access Masks
If you don't use access masks, then you should make sure this is disabled. It's simply a waste of cycles (though I don't think it matters much).
Thread/Forum Read Marking Type
This can make a big difference. The most resource-friendly option here is the first, but of course you sacrifice usability. Read the help for this setting to learn what each option really means. Just know that it can impact a busy board a lot.
GZIP HTML Output
You can enable this option to reduce the amount of bandwidth your forum uses. It is highly recommended, and it is very effective.
GZIP Compression Level
This option is used in conjunction with the above option. You should never ever set this value above 1. Above 1, the (small) gains in extra compression is simply not worth the extra processing power needed.
Cached Posts Lifespan
You can raise this limit to enable faster post loading. It means vB doesn't need to parse vB-code and such every time a post is displayed. But as a result, each post is displayed twice: once for the original version and once for the cached post. You are sacrificing storage for speed. For a lot forums, storage isn't as big of a problem, so you can set this value quite high -- something like 90 days.
Update Thread Views Immediately / Update Attachment Views Immediately
You should disable these options. By updating views immediately you are locking the database rows for the affected thread/attachment each time. On popular forums, this can cause noticable lag for your users. So disable the option so the view counts are updated all at once on a cron job.
Store CSS Stylesheets as Files?
You should enable this setting so vB writes CSS to disk. This means your users can cache the CSS instead of downloading it on every page load.
Show Last Post on Profile Page
You should disable this setting to prevent a query from being run to fetch the users last post whenever someone views their profile.
View Attached Images Inline
You should set this to "No". This will mean images aren't shown as thumbnails, but it will also reduce the load on your server since vB doesn't need to serve up a thumbnail for each attached image in a thread.
Search Engine Enabled
Search seems like a really critical part of any site, but it's really server intensive. If you're in a pinch then you should consider turning search off. Perhaps replace it with a Google site-search box instead.
Automatic Similar Thread Search
Disable this option to prevent vB from performing a search every time a new thread is posted. This can decrease the load on your server.
Search Result Sharing
You should enable this option so common search query results can be shared without vB needing to actually perform the search again.
Display Logged in Users?
You should at the very least disable the logged in users list for guests. You should also avoid using the 'alphabetical' setting here so the query vB performs is quicker.
Show Users Browsing Forums
Same as above option. You should avoid this if you can.
Length of Thread Preview Text
You should set this to "0" to disable the feature. It adds a bunch of HTML to your output that you just don't need.
Show Users Browsing Threads
Same as the above Users Browsing X options. Avoid it if you can.
Check Thread Rating
Disable this to save vB from having to find which vote a user has cast. This can reduce load.
Check Thread Subscription
Disable this to save vB from having to check the subscription status for a user.
Enable Access Masks
If you don't use access masks, then you should make sure this is disabled. It's simply a waste of cycles (though I don't think it matters much).
Thread/Forum Read Marking Type
This can make a big difference. The most resource-friendly option here is the first, but of course you sacrifice usability. Read the help for this setting to learn what each option really means. Just know that it can impact a busy board a lot.
GZIP HTML Output
You can enable this option to reduce the amount of bandwidth your forum uses. It is highly recommended, and it is very effective.
GZIP Compression Level
This option is used in conjunction with the above option. You should never ever set this value above 1. Above 1, the (small) gains in extra compression is simply not worth the extra processing power needed.
Cached Posts Lifespan
You can raise this limit to enable faster post loading. It means vB doesn't need to parse vB-code and such every time a post is displayed. But as a result, each post is displayed twice: once for the original version and once for the cached post. You are sacrificing storage for speed. For a lot forums, storage isn't as big of a problem, so you can set this value quite high -- something like 90 days.
Update Thread Views Immediately / Update Attachment Views Immediately
You should disable these options. By updating views immediately you are locking the database rows for the affected thread/attachment each time. On popular forums, this can cause noticable lag for your users. So disable the option so the view counts are updated all at once on a cron job.
Store CSS Stylesheets as Files?
You should enable this setting so vB writes CSS to disk. This means your users can cache the CSS instead of downloading it on every page load.
Show Last Post on Profile Page
You should disable this setting to prevent a query from being run to fetch the users last post whenever someone views their profile.
View Attached Images Inline
You should set this to "No". This will mean images aren't shown as thumbnails, but it will also reduce the load on your server since vB doesn't need to serve up a thumbnail for each attached image in a thread.
Search Engine Enabled
Search seems like a really critical part of any site, but it's really server intensive. If you're in a pinch then you should consider turning search off. Perhaps replace it with a Google site-search box instead.
Automatic Similar Thread Search
Disable this option to prevent vB from performing a search every time a new thread is posted. This can decrease the load on your server.
Search Result Sharing
You should enable this option so common search query results can be shared without vB needing to actually perform the search again.
Display Logged in Users?
You should at the very least disable the logged in users list for guests. You should also avoid using the 'alphabetical' setting here so the query vB performs is quicker.
Show Users Browsing Forums
Same as above option. You should avoid this if you can.
Length of Thread Preview Text
You should set this to "0" to disable the feature. It adds a bunch of HTML to your output that you just don't need.
Show Users Browsing Threads
Same as the above Users Browsing X options. Avoid it if you can.
Check Thread Rating
Disable this to save vB from having to find which vote a user has cast. This can reduce load.
Check Thread Subscription
Disable this to save vB from having to check the subscription status for a user.