PDA

View Full Version : Caching


cmanns
05-22-2007, 02:00 AM
Does vBulletin use any caching api's such as for eaccelerator or memcached?

Dismounted
05-22-2007, 02:10 AM
No, but by modifications, it is possible.

cmanns
05-22-2007, 03:28 AM
Has a mod been released to take use of it?

Distance
05-22-2007, 09:12 AM
Hey cmanns :)

No I dont think so however you could put in a paid request for someone to make you one :)

Brad
05-22-2007, 12:16 PM
Hi,

Quick answer; Yes vBulletin has support for them.


Long answer;

By default vBulletin does cache a lot of data (called the "datastore") however it's stored in the database (in RAM, not on the HDD). It's possible to also store it in the file system depending on your configuration.

The above options work on all servers hence them begin the default way of doing things. However vBulletin does support the use of APC and Memcached for managing the datastore. eAccelerator was supported in older versions of the software but it was disabled in later versions due to some issues caused by allowing eAccelerator to manage the datastore.

from class_datastore.php;

/*
Unfortunately, due to a design issue with eAccelerator
we must disable this module at this time.

The reason for this is that eAccelerator does not distinguish
between memory allocated for cached scripts and memory allocated
as shared memory storage.

Therefore, the possibility exists for the administrator to turn
off the board, which would then instruct eAccelerator to update
its cache of the datastore. However, if the memory allocated is
insufficient to store the new version of the datastore due to
being filled with cached scripts, this will not be performed
successfully, resulting in the OLD version of the datastore
remaining, with the net result that the board does NOT turn off
until the web server is restarted (which refreshes the shared
memory)

This problem affects anything read from the datastore, including
the forumcache, the options cache, the usergroup cache, smilies,
bbcodes, post icons...

As a result we have no alternative but to totally disable the
eAccelerator datastore module at this time. If at some point in
the future this design issue is resolved, we will re-enable it.

We still recommend running eAccelerator with PHP due to the huge
performance benefits, but at this time it is not viable to use
it for datastore cacheing. - Kier
*/