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

Reply
 
Thread Tools
datastore cache to XCache - boost your vBulletin Details »»
datastore cache to XCache - boost your vBulletin
Version: 0.8.5, by phpxcache phpxcache is offline
Developer Last Online: Mar 2008 Show Printable Version Email this Page

Category: Board Optimization - Version: 3.6.5 Rating:
Released: 03-02-2007 Last Update: 03-03-2007 Installs: 142
Code Changes Additional Files  
No support by the author.


(note: do not apply this patch on vBulletin 3.7 as it's included already)
This patch allow you to use XCache as a datastore cache in vBulletin. This is definitely your choice if you have installed and enabled XCache on you server already.

Take care that this is a beta version and was not heavily tested. And i'm not familiar with vBulletin source code as i just started reading it today, but i don't have any difficulty reading it thanks to my years of php skill

Take aware that some vB plugin is not compatible with vB_datastore_*, not just vB_datastore_XCache. So, in case you find vB_datastore_XCache won't work, you'd better try datastore to file or memcache. If one of the others works but not vB_datastore_XCache, do report it to me so i can fix it.

Pre-requirement
Install the modification
for those of you who can't run "patch", u may patch the file manually
  • download Attachment 61372 (class_datastore_xcache.php)
  • save the file as vBulletin.3.6/upload/includes/class_datastore_xcache.php
  • open vBulletin.3.6/upload/includes/class_datastore.php in your favor editor
  • add a line in class_datastore.php (see below)
  • update upload/includes/config.php to enable it (see below)

example class_datastore.php after modification:
PHP Code:
        }
        return 
true;
    }
}

// add class_datastore_xcache, enable it in config.php
require_once(DIR '/includes/class_datastore_xcache.php');

/*======================================================================*\
|| ####################################################################
|| # Downloaded: 12:33, Fri Mar 2nd 2007
|| # CVS: $RCSfile$ - $Revision: 15474 $
|| ####################################################################
\*======================================================================*/ 
example config.php after modification:
PHP Code:

    
// vB_Datastore_Filecache  - for using a cache file
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';
$config['Datastore']['class'] = 'vB_Datastore_XCache';
    
// vB_Datastore_Memcached - for using a Memcache server
    // It is also necessary to specify the hostname or IP address and the port the server is listening on 
Trouble Shooting
q. i have multiple vBulletin instance installed, the seems to mix data after install this plugin
a. this applies to apc too because, if you wanna fix it, try
open class_core.php, look for:
$this->prefix =& $this->registry->config['Datastore']['prefix'];
and modify to:
$this->prefix = $this->registry->config['Datastore']['prefix'] . $_SERVER['SERVER_NAME']; // or HTTP_HOST

q. Warning: unserialize() expects parameter 1 to be string, array given in $a.php on line $b
a. upgrade your plugin/hack that $a.php belongs to, e.g. vbjournal/vbgallery etc. OR open $a.php and locate at line $b, remove unserialize call, e.g.:
replace $var = unserialize($this->data);
with $var = $this->data;
be careful do not remove the whole line, just the unseralize( and )

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #102  
Old 07-01-2007, 12:08 AM
phpxcache phpxcache is offline
 
Join Date: Feb 2007
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Yellow Slider View Post
Can you explain how?, I'll installed the Xcache hack, and It will Cache the php files?, can someone explain what do you mean by "datastore"?

how can I work with memcache and Xcache to get the most out of the two of them?
memcache will cache the DB ( how exactly ? ) there is another hack?
and the Xcache will cache the php time? and the php process time will be faster?
u need no hack but just install XCache extension to cache php.

this hack/addon just allow you cache datastore to XCache beside memcached/file/apc/...
so if you wanna use memcache for DB/datastore, just install XCache extension but not this hack.

the meaning of "datastore" is defined by vbulletin, not me. it's simply a DB cache, nothing more, nothing less.
Reply With Quote
  #103  
Old 07-01-2007, 12:15 PM
Yellow Slider Yellow Slider is offline
 
Join Date: Aug 2006
Posts: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by phpxcache View Post
u need no hack but just install XCache extension to cache php.

this hack/addon just allow you cache datastore to XCache beside memcached/file/apc/...
so if you wanna use memcache for DB/datastore, just install XCache extension but not this hack.

the meaning of "datastore" is defined by vbulletin, not me. it's simply a DB cache, nothing more, nothing less.
Can i use this modification (off course with Xcache installed ) and to work with Memcache at the same time?
beside of that, What do you think will do the work better Xcache with this hack or Memcache?
Are they doing the same things?

There is DC caching and PHP caching, What do I use Memcache for?
Reply With Quote
  #104  
Old 07-01-2007, 12:39 PM
phpxcache phpxcache is offline
 
Join Date: Feb 2007
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

XCache datastore is same as file/apc/memcached data sore, u just pick one of them.
1. use XCache for php caching, and/or:
2. use of and ONLY one of "ea/file/apc/memcached/XCache" for datastore caching,
u can't do Xcache_datastore + memcached_datastore or anther combination, but you can
xcache_php_caching + xcache_datastore
or xcache_php_caching + memcached_datastore
or xcache_php_caching + file_datastore etc

"ea/file/apc/memcached" is officially supported by vBulletin, this hack only add and XCache optional choice for you.
Reply With Quote
  #105  
Old 07-01-2007, 06:27 PM
rootnik rootnik is offline
 
Join Date: Jun 2002
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What is the lowest I should set my var.cache size?

Would it be foolish to set it to something as low a 4M? I ask because after running it for about an hour I only used around 2mb of the cache and it was showing no signs of maxing out.
Reply With Quote
  #106  
Old 07-01-2007, 06:37 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

4M is plenty if you are only using it for vbulletin (I only have mine set to 2M).
Reply With Quote
  #107  
Old 07-02-2007, 01:54 PM
Yellow Slider Yellow Slider is offline
 
Join Date: Aug 2006
Posts: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by phpxcache View Post
XCache datastore is same as file/apc/memcached data sore, u just pick one of them.
1. use XCache for php caching, and/or:
2. use of and ONLY one of "ea/file/apc/memcached/XCache" for datastore caching,
u can't do Xcache_datastore + memcached_datastore or anther combination, but you can
xcache_php_caching + xcache_datastore
or xcache_php_caching + memcached_datastore
or xcache_php_caching + file_datastore etc

"ea/file/apc/memcached" is officially supported by vBulletin, this hack only add and XCache optional choice for you.
And this modification is caching php or datastore?
Are you planning to release a modification that will work with Xcache / memcache and will cache php too?

Thanks a lot.
Reply With Quote
  #108  
Old 07-02-2007, 06:51 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gabrielt View Post
I am running memcached here. Can I use both or they are mutual exclusive? Anyone made performance tests comparing the two?

Thanks
Gabriel.
If you want real performance, yes use both of them, but do not enable xcache in config.php file.
More exacly, use memcached for datastore and XCache for the php files.
I built my own rpms, optimized for lighty and vbulletin. Please dont ask me anything if you use Crapache.
Reply With Quote
  #109  
Old 07-03-2007, 02:40 PM
Yellow Slider Yellow Slider is offline
 
Join Date: Aug 2006
Posts: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have installed this modification, and nothing is changed..
how can I Be 100% that this modification is doing some thing? :\
Maybe I havn't installed it property , but there isn't anything to do, upload a file and to add a line in the config file..

what may be wrong?

config file -
PHP Code:
    // Here you can configure different methods for caching datastore items.
    // vB_Datastore_Filecache  - for using a cache file
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';
$config['Datastore']['class'] = 'vB_Datastore_XCache'
    
// vB_Datastore_Memcached - for using a Memcache server
    // It is also necessary to specify the hostname or IP address and the port the server is listening on
//$config['Datastore']['class'] = 'vB_Datastore_Memcached';
//$i = 0;
// First Server
$i++;
$config['Misc']['memcacheserver'][$i]        = '127.0.0.3';
$config['Misc']['memcacheport'][$i]            = 11211;
$config['Misc']['memcachepersistent'][$i]    = true;
$config['Misc']['memcacheweight'][$i]        = 1;
$config['Misc']['memcachetimeout'][$i]        = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15
class_datastore -

PHP Code:
        }
        return 
true;
    }
}
// add class_datastore_xcache, enable it in config.php
require_once(DIR '/includes/class_datastore_xcache.php'); 

/*======================================================================*\
|| #################################################################### 
I've uploaded the class_datastore_xcache.php to /includes/class_datastore_xcache.php
Reply With Quote
  #110  
Old 07-04-2007, 01:11 AM
rootnik rootnik is offline
 
Join Date: Jun 2002
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Yellow Slider View Post
I have installed this modification, and nothing is changed..
how can I Be 100% that this modification is doing some thing? :\
Maybe I havn't installed it property , but there isn't anything to do, upload a file and to add a line in the config file..

what may be wrong?

config file -
PHP Code:
    // Here you can configure different methods for caching datastore items.
    // vB_Datastore_Filecache  - for using a cache file
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';
$config['Datastore']['class'] = 'vB_Datastore_XCache'
    
// vB_Datastore_Memcached - for using a Memcache server
    // It is also necessary to specify the hostname or IP address and the port the server is listening on
//$config['Datastore']['class'] = 'vB_Datastore_Memcached';
//$i = 0;
// First Server
$i++;
$config['Misc']['memcacheserver'][$i]        = '127.0.0.3';
$config['Misc']['memcacheport'][$i]            = 11211;
$config['Misc']['memcachepersistent'][$i]    = true;
$config['Misc']['memcacheweight'][$i]        = 1;
$config['Misc']['memcachetimeout'][$i]        = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15
class_datastore -

PHP Code:
        }
        return 
true;
    }
}
// add class_datastore_xcache, enable it in config.php
require_once(DIR '/includes/class_datastore_xcache.php'); 

/*======================================================================*\
|| #################################################################### 
I've uploaded the class_datastore_xcache.php to /includes/class_datastore_xcache.php
I'm pretty sure you will want to comment out the $config['Misc']['memcache* lines if you want to switch to xcache.
Reply With Quote
  #111  
Old 07-04-2007, 08:29 AM
Yellow Slider Yellow Slider is offline
 
Join Date: Aug 2006
Posts: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've done it after posting here, and still there in no change..
how can i check and see if the modification actually works?

View the Attachments file maybe it will give you some clue, I've installed the cache templates modification as well..
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:11 AM.


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.05239 seconds
  • Memory Usage 2,357KB
  • 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
  • (6)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete