PDA

View Full Version : vB Optimise 1.3.2



thanhdia
06-10-2009, 06:08 PM
vB Optimise

vB Optimise is an extension to vBulletin that allows several amounts of globally requested and partially requested data to be cached on-the-fly in multiple ways, effectively improving page loading times, server resources and database resources. Additionally vB Optimise can point out settings on your forum that could be improved to get additional performance and speed.

Example of what vB Optimise does to vBAdvanced (http://www.vbulletin.org/forum/showpost.php?p=1690074&postcount=258)


What can it do?

Currently vB Optimise can do the following:


No Template/File Edits
Installation will take seconds.
Cache Templates
Cache Styles
Cache Phrases
Cache Homepage WOL
Use 'File Cache'
Use 'Memcache'
Use 'XCache'
Use 'APC'
Use 'eAccelerator'
Globally reduce your forum queries by two, and chop a 3rd one down.
Force custom datastore items to use datastore cache correctly (reduces queries by 1).
Automatically update cache when handling templates, styles or css.
Check your forum for Optimal settings, to ensure you're using the best settings possible for performance.
Massively reduce queries for vBAdvanced, upto 10 and more (differs depending on the vBAdvanced modules you have installed).
Potentially has the ability to cut upto 4 queries, and chop a 5th one down.

How does it work?

vB Optimise works ahead of vBulletin, calling data from the database if it is not already cached, then caching it using any of the three available methods vB Optimise supports. After handling data, vB Optimise pushes the cached data to vBulletin letting it know it no longer needs to query the data.


Can I integrate this into my mod easily?
Integration should be very easy! I've made a seperate mod here which can use vB Optimise: http://www.vbulletin.org/forum/showthread.php?t=199568 Hopefully it should demonstrate to you how to integrate vB Optimise into your mod


FAQ

1. I'm getting PHP errors, what gives?
A) You'll need to be using PHP5.1 for vB Optimise to work. Preferably the latest stable version of PHP is recommended.

2. I've changed my templates/styles/phrases, but my forum isn't reflecting the changes?
A) Simply use the Flush Cache feature in the ACP so vB Optimise grabs your latest data.

3. I'm using vB 3.7/3.6, will this still work?
A) It's untested, but users have been reporting no problems with 3.6 and 3.7.

4. I'm using the XCache method, when attempting to flush I get prompted for a username/password?
A) This means your XCache is configured to use an admin username/password, you will of specified these in php.ini. Alternatively you can turn admin authentification off in your php.ini file:



xcache.admin.enable_auth = Off

5. I'm using the XCache method, when attempting to flush I get an error, something about username and password?
A) If you're not being prompted for your XCache username/password, check the vB Optimise settings, there you can change a setting to force the prompt to show.

6. The folder './vboptimise' only has index.htm inside it, why?
A) This folder will only be used if you're using the file cache system, if you are and it still only contains index.htm, chmod the folder to allow read/write permissions (usually chmod 0777).

7. The filecache method creates file with 0777 permissions, my server setup doesn't like this?
A) You can use the SuPHP option in vB Optimise settings, switching it to Yes will make sure vB Optimise will only create files with 0644 permissions.

8. I cached a vBAdvanced module, but it looks weird now?
A) Some vBAdvanced modules pass variables which vB Optimise does not catch, and due to the large amount of custom vBAdvanced Modules it is difficult for vB Optimise to keep upto speed with what's going. I will attempt to resolve this by allowing advanced users to pass variables when enabling cache on vBAdvanced Modules so that the variables are also cached and delivered.

9. I enabled the vBAdvanced Integration, but no queries were dropped?
A) You will need to edit the modules you wish to cache in the vBAdvanced Edit Modules admin page, at the very bottom you'll see settings to cache vBAdvanced modules.

10. I cached some vBAdvanced modules, but vB Optimise is reporting that the module could not be cached in the vBulletin Debug Area.
A) The cache can only work for vBAdvanced modules that use php files, and do not require the 'Clean Output' setting.

11. Out of the default vBAdvanced modules, which do you recommend we cache?
A) My tests have shown these modules are safe to cache, and will greatly improve performance, I set them all to 60 seconds cache:

- News
- News Archive
- Quick Moderation
- Recent Threads
- Stats
- Popular Tags

12. Why don't you cache Current Poll or Online Users?
A) Current poll relates to the user who is logged in, so caching it would mean other members will see information not relating to them. Online users however users the same file for two modules, making the caching of this somewhat difficult and obscure unlike other vBAdvanced modules.


Change Log

- Version 1.3.2
Fixed: Similar issue with 1.3.1, bug still occured on caching modules, but not when retrieved from cache.

- Version 1.3.1
Fixed: Minor issue with cached vBA CMPS Modules, background class of modules wasn't swapping correctly due to variable being cached. (Alt1, alt2, alt1, etc..)

- Version 1.3.0
Added new setting to stop vB Optimise caching phrases in ACP.
Added vBAdvanced Integration Switch, enabling this switch will allow you to edit vBAdvanced modules and cache them for a timed period.

- Version 1.2.1
Fixed: First install users, could sometimes fail when enabling vB Optimise due to connection checks made on cache selections.

- Version 1.2.0
Added Optimal Settings Check System
Added Homepage WOL Cache System
Added Kill Object Hooks to destroy vB Optimise objects when finished, to preserve more resources.
Fixed: Force Datastore Cache ran if vB Optimise was offline
Fixed: Phrase bug on member profiles when viewing as a guest.
Fixed: XCache could not silently flush cache if authentification was required.
Fixed: If modifications passed on invalid templates, vB Optimise attempted to query none-existant templates.

- Version 1.1.0
Corrected Typo
Added option to insert cache title prefix's, helpful for those running multiple vBulletin installations.
Added cache integrity check, to automatically detect corruption and fix on the fly without any errors or obscure content being displayed.
Added kill cache hooks for styles, templates and css. (Thanks to Andreas for pointing out hook locations, and idea).
Added ability to enable Custom Datastore Cache, which will force custom datastore entries to use the actual datastore method your vBulletin is setup with, allowing a reduction of 1 query if any modifications you have installed use custom datastore cache at init_startup (Thanks to Andreas for the idea).
Added support for APC.
Added support for eAccelerator.
Added check when saving vB Optimise settings to ensure the cache method you've selected is supported on your server.
Added SuPHP switch for users using Filecache, to change file permissions to 0644 instead of 0777 for cache files created by vB Optimise. (Thanks to Infopro for pointing this out).

- Version 1.0.2
Fixed php error which showed when logging in
Added option in vB Optimise settings force authentifcation to show up when using XCache
Created check in vB Optimise that ensures ./vboptimise has correct permissions when selecting to use filecache

- Version 1.0.1
Fixed style selections
Changed text in admin cp for online/offline command
Changed text in debug messages for vBulletin Debug


Lastly...
I'd love your feedback on this modification, perhaps ideas to make it better by improving vB Optimise or what it can optimise on your forum