vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Board Optimization - XCache for vBulletin Caching (https://vborg.vbsupport.ru/showthread.php?t=277804)

rossco_2005 01-30-2012 11:00 PM

XCache for vBulletin Caching
 
1 Attachment(s)
This mod will replace the default vB_Cache_Db class (database cache) used in vBulletin with an xCache implementation of it.
vBulletin has promised to implement this option themselves, but I'm sick of waiting, so I created this.

What are the benefits of using XCache for caching over MySQL (Database) ?

In theory, quicker page load times, lower server load. This will offload the duty of caching from mysql and throw it into the RAM.
It will also reduce your query count per page.

The most staggering difference you will notice is with the CMS, or any mods that make good use of the cache.
For instance, in my dev site using the default CMS content and settings, browsing as a guest, I was able to shave off an average of 0.06 seconds from the page generation time (0.23 -> 0.17 seconds) and 43 queries (86 -> 43)!
In a live site, the reduction in queries and overall time spent serving the page will have a large effect on overall performance in a busy site.

Make sure that you also have the datastore cache method set to xcache as well for further query reduction: https://www.vbulletin.com/docs/html/datastore
Also install "Load templates from XCache" for further query reduction: https://vborg.vbsupport.ru/showthread.php?t=255994

Any drawbacks?

Other than a file edit required on every vBulletin upgrade, none that I can think of... If you think of one, post it.

What about other data caches ? (memcached, apc, etc.)

I could write those as well, if there is a demand for it, and they happen to work similar enough to xcache.

This is a beta!

This has been tested in a live forum for a few days, and no incidents/side-effects have been noticed or reported, but I cannot yet guarantee it is 100% perfect.

This mod requires one file edit

See this bug to find out why: http://tracker.vbulletin.com/browse/VBIV-13241

Requirements

This was designed to fail gracefully by falling back on the DB cache if there is an error, so if there is an error you will not even realize it.

Make sure these requirements are met:
  • XCache 1.3.2 installed (only version that I tested) (verify by viewing phpinfo page)
The following are in your XCache ini settings (php.ini usually):
  • xcache.var_size = 32M (32MB; at least)
  • xcache.var_slots = 8k (8000; at least)
  • Set xcache.admin.user and xcache.admin.pass to whatever you want (keep in mind that the pass must be MD5'd)

Restart after making any changes.

Another tip is to set your xcache.count and xcache.var_count to the number of CPU cores that you have.

See the documentation here: http://xcache.lighttpd.net/wiki/XcacheIni

After running this mod for a while, check your xcache admin page to ensure that your var_slots and var_size are large enough.

Install Instructions

1. Upload the contents of the UPLOAD folder in xcache.zip to your forum root

2. Open up your /includes/config.php file and add the following:

PHP Code:

/*
 * XCache Config
 */
$config['xcache']['user'] = 'user';
$config['xcache']['pass'] = 'pass'

Edit it to include your xcache admin username and password

3. This step will need to be repeated whenever you do a forum upgrade.
Open up /vb/cache.php.
Find:
PHP Code:

self::$instance vB_Cache_Db::instance(); 

Replace with:
PHP Code:

self::$instance fst_Cache_Xcache::instance(); 


FReeSTER 01-31-2012 12:01 AM

First post. lol Great!!!!!!!!!!!!!!!!11 love Mods like this one. Will try and let you know

rossco_2005 01-31-2012 12:10 AM

Quote:

Originally Posted by FReeSTER (Post 2294415)
First post. lol Great!!!!!!!!!!!!!!!!11 love Mods like this one. Will try and let you know

Thanks, I look forward to hearing the results.

v123shine 01-31-2012 12:25 AM

Great mods...love it!

steviewonder44 01-31-2012 12:43 AM

Thanks a bunch

OldSchoolDSL 01-31-2012 01:04 AM

I'd be interested apc .... Should there be a demand other than myself of course.

Good work on this

Max Taxable 01-31-2012 01:07 AM

What's the possibility of using this on a 3.8?

Zachery 01-31-2012 01:12 AM

No need, vBulletin 3.8 doesn't have a cache table at all. It also already has datastore cacheing for xcache.

rossco_2005 01-31-2012 01:14 AM

Quote:

Originally Posted by Max Taxable (Post 2294429)
What's the possibility of using this on a 3.8?

It will never work, the cache was added in 4.0, and even now it's only really used for the CMS and maybe a few odds and ends in the forums.

CoZmicShReddeR 01-31-2012 01:51 AM

Installed not sure if there was too much of an improvement on my site...


All times are GMT. The time now is 08:21 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01253 seconds
  • Memory Usage 1,746KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete