Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
XCache for vBulletin Caching Details »»
XCache for vBulletin Caching
Version: 0.9.1, by rossco_2005 rossco_2005 is offline
Developer Last Online: May 2013 Show Printable Version Email this Page

Category: Board Optimization - Version: 4.x.x Rating:
Released: 01-30-2012 Last Update: 05-25-2013 Installs: 35
Code Changes Additional Files Is in Beta Stage  
No support by the author.

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(); 

Download Now

File Type: zip xcache-0.9.1.zip (3.7 KB, 150 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
4 благодарности(ей) от:
FReeSTER, Max Taxable, steviewonder44, tbworld

Comments
  #52  
Old 10-17-2012, 08:07 AM
betterthanyours betterthanyours is offline
 
Join Date: May 2012
Posts: 193
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Uninstalled. Was also doing this on PM and some other pages.
Reply With Quote
  #53  
Old 05-26-2013, 09:17 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I uploaded a new version that fixes a bug that was causing CMS and some other pages to load blank, or show errors.
To update, just upload the contents of the UPLOAD folder to your forum root and allow it to overwrite the old file.
Reply With Quote
Благодарность от:
Robru
  #54  
Old 05-27-2013, 05:15 AM
bzcomputers's Avatar
bzcomputers bzcomputers is offline
 
Join Date: Apr 2012
Location: TX
Posts: 503
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the update. I tried the older version a while back, but like you mentioned I had some issues with blank pages.

So far so good with this version. Using it on vb 4.2 PL3 with XCache 3.0.1.


Is anyone still using the template caching mentioned from this link?
https://vborg.vbsupport.ru/showthread.php?t=255994
...it seems to have issues
Reply With Quote
  #55  
Old 01-30-2014, 10:40 AM
kartheekb kartheekb is offline
 
Join Date: May 2010
Location: india
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

does hosting provider must be installed xcache on server to use this?
Reply With Quote
  #56  
Old 01-30-2014, 02:25 PM
bzcomputers's Avatar
bzcomputers bzcomputers is offline
 
Join Date: Apr 2012
Location: TX
Posts: 503
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kartheekb View Post
does hosting provider must be installed xcache on server to use this?
Yes. Latest version is 3.1.0. It's an easy install and can be done in just a couple minutes.

http://xcache.lighttpd.net/
Reply With Quote
Благодарность от:
Robru
  #57  
Old 06-14-2014, 10:36 AM
DreadsUK's Avatar
DreadsUK DreadsUK is offline
 
Join Date: Jan 2014
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've just installed vBOptimise which i am told works best with this mod.

I've uploaded all the contents into the forum root. Now looking at step 2

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

I went to download the file /includes/config.php and i'm being told its the same file i've just uploaded from vBoptimise. is this correct?

If so, where abouts do i add the code

Code:
/* 
 * XCache Config 
 */ 
$config['xcache']['user'] = 'user'; 
$config['xcache']['pass'] = 'pass';
Reply With Quote
  #58  
Old 06-14-2014, 11:02 AM
ozzy47's Avatar
ozzy47 ozzy47 is offline
 
Join Date: Jul 2009
Location: USA
Posts: 10,929
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You really need to remove the info from the above post, you gave out all your sites info in the config file.
Reply With Quote
  #59  
Old 06-14-2014, 11:16 AM
DreadsUK's Avatar
DreadsUK DreadsUK is offline
 
Join Date: Jan 2014
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ozzy47 View Post
You really need to remove the info from the above post, you gave out all your sites info in the config file.
im totally new at this and dont really know what i am doing. Im still learning. thanks ozzy

Where do i add the code?

Also, it says to edit it to include my admin xcache username and password. where do i find these or is this where i create them?
Reply With Quote
  #60  
Old 06-14-2014, 06:47 PM
bzcomputers's Avatar
bzcomputers bzcomputers is offline
 
Join Date: Apr 2012
Location: TX
Posts: 503
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DreadsUK View Post
im totally new at this and dont really know what i am doing. Im still learning. thanks ozzy

Where do i add the code?

Also, it says to edit it to include my admin xcache username and password. where do i find these or is this where i create them?
xCache can be run With or Without "Password Authentication". Running with password authentication has been known to cause some issues with vBulletin 4 and some mods. I've come across it personally it usually has to due with stale data, that is memory not being cleared when it should.

1) IF you decide to run xCache with "Password Authentication"
You will need to make sure these lines exist in your php.ini file:

Code:
xcache.admin.enable_auth="On"
xcache.admin.user="YOUR USERNAME HERE"
xcache.admin.pass="YOUR PASSWORD HERE (MD5)"
Then you need to add these lines to your config.php file:

Code:
    // ****** XCACHE CONFIGURATION *****
	// Here is XCache login information to use XCache instead of MYSql to cache.
$config['xcache']['user'] = 'YOUR USERNAME HERE';
$config['xcache']['pass'] = 'YOUR PASSWORD HERE (NOT MD5)';
It doesn't really matter where in the config.php file they go, personally I put it right under the "DATASTORE CACHE CONFIGURATION" section (which should also be set to use xCache) that way all the cache settings are right next to each other.
2. IF you decide to run xCache without "Password Authentication"
In php.ini this will be the only setting change:

Code:
xcache.admin.enable_auth="off"
..and in config.php file you will just need to make sure xCache is set in the "DATASTORE CACHE CONFIGURATION" section.
Reply With Quote
  #61  
Old 06-14-2014, 11:25 PM
RichieBoy67's Avatar
RichieBoy67 RichieBoy67 is offline
 
Join Date: Apr 2004
Location: CT - Down in a hole..
Posts: 3,057
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DreadsUK View Post
I've just installed vBOptimise which i am told works best with this mod.

I've uploaded all the contents into the forum root. Now looking at step 2

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

I went to download the file /includes/config.php and i'm being told its the same file i've just uploaded from vBoptimise. is this correct?

If so, where abouts do i add the code

Code:
/* 
 * XCache Config 
 */ 
$config['xcache']['user'] = 'user'; 
$config['xcache']['pass'] = 'pass';
I am not so sure this cache is good for you unless you have decent amount of ram. If you are already having issues using up your ram this will make it worse. Don't get me wrong, this can help immensely but not if you do not have a decent amount of ram.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:08 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05211 seconds
  • Memory Usage 2,360KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (5)bbcode_code
  • (3)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (6)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (1)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete