Jump to content

How to set IPB 2.2 use Eaccelerator or Xcache or Mysqli?


Guest backdream

Recommended Posts

  • Replies 53
  • Created
  • Last Reply

Not sure what the deal is, but eaccelerator wreaked havoc on my board in 2.2 RC1. With certain browsers (IE, Safari) people were getting kicked offline left and right. They'd have to sign back in, only to be booted when hitting reply, or post reply.

The instant I removed the

$INFO['use_eaccelerator'] = '1';

the problems disappeared.

Link to comment
Share on other sites

eaccelerator doesn't actually have anything to do with the sessions. :unsure: It would be add it would have any effect on logins or staying logged in.

As far as I can tell right now, xcache is pretty speedy. Comparing the two will get down to microseconds, and I'd probably leave that to someone else to profile, as it's not really in our power/position to do so. :) Both work quite well.

fyi, I have eaccelerator running with 2.1 on several sites (they helped "test" it - really we were using it to help reduce load because the sites were so large) and they've been using it fine for several months. :unsure:

Link to comment
Share on other sites

eaccelerator doesn't actually have anything to do with the sessions. :unsure: It would be add it would have any effect on logins or staying logged in.



As far as I can tell right now, xcache is pretty speedy. Comparing the two will get down to microseconds, and I'd probably leave that to someone else to profile, as it's not really in our power/position to do so. :) Both work quite well.



fyi, I have eaccelerator running with 2.1 on several sites (they helped "test" it - really we were using it to help reduce load because the sites were so large) and they've been using it fine for several months. :unsure:



I retract my earlier statement. It was an issue with the cookie domain and/or the Stronghold cookie setting. I changed both at the same time and that fixed it. I'm afraid to mess with either now, lol.
Link to comment
Share on other sites

  • 2 weeks later...

Added xcache library. Wasn't hard at all (once I got the stable non-dev copy of xcache that

didn't crash Apache on every page load

:rolleyes: )




You means the EAccelerator always crash Apache? and Xcache are stable than EAccelerator?

Thanks, I want to know it. :unsure: :blush: :ph34r: :devil: (w00t)
Link to comment
Share on other sites

  • 1 month later...

Shouldn't really matter, you'll get the same result. Like if it had:

if( $INFO['use_eaccelerator'] == 1 ) { }

And used either it would work or:

if( $INFO['use_eaccelerator'] == '1' ) { }

And used either it would work. The only time it does matter is if the IF statement was something like:

if( $INFO['use_eaccelerator'] === 1 ) { }



Which also checks the variable type used. The '===' is only used in very special cases, like when you need to distinguish 0 from false, etc...

So either one you mentioned should work. Just go with whatever the rest of the config file does with "1" values :).

Link to comment
Share on other sites

What version of eaccelerator do you support?

phpinfo indicates for me:

This program makes use of the Zend Scripting Language Engine:


Zend Engine v1.3.0, Copyright © 1998-2004 Zend Technologies with eAccelerator v0.9.2, Copyright © 2004-2005 eAccelerator, by eAccelerator with Zend Extension Manager v1.0.10, Copyright © 2003-2006, by Zend Technologies with Zend Optimizer v3.0.1, Copyright © 1998-2006, by Zend Technologies



and...



eAccelerator


eAccelerator support enabled


Version 0.9.2


Caching Enabled true


Optimizer Enabled true


Memory Size 16,


777,176 Bytes


Memory Available 6,936 Bytes


Memory Allocated 16,


770,240 Bytes


Cached Scripts 224


Removed Scripts 0


Cached Keys 0

Link to comment
Share on other sites

I personally prefer eaccelerator, though I've noticed odd cache glitches from time to time. Nothing major though.

APC I only briefly tested. xcache worked quite nicely as well.

My limited tests with memcache were not overly great in my mind, but I had to test across the internet, instead of across a local network, so the tests were biased. All in all, xcache and eaccelerator performed about the same.

Link to comment
Share on other sites

I personally prefer eaccelerator, though I've noticed odd cache glitches from time to time. Nothing major though.



APC I only briefly tested. xcache worked quite nicely as well.



My limited tests with memcache were not overly great in my mind, but I had to test across the internet, instead of across a local network, so the tests were biased. All in all, xcache and eaccelerator performed about the same.



What versions of eaccelerator does this support?
Link to comment
Share on other sites

To rebuild caches after we add the line to the config file is this the right option?

That said, when do we ever want to run this option:

Rebuild Skin Set Cache


Rebuild skin set cache on set...


This option will rebuild the template HTML, wrapper, macro and css caches of this set and any children.


[ Rebuild All ]



Also can you describe those "glitches" that you saw?

Thanks!
Link to comment
Share on other sites

Rebuild Skin Set Cache


Rebuild skin set cache on set...


This option will rebuild the template HTML, wrapper, macro and css caches of this set and any children.


[ Rebuild All ]



You would use this when you make changes to your html templates and the files weren't written to disk properly. Or after you import html templates (i.e. rebuild master html templates tool on the same page) and want to rewrite your skin_*.php files. Really, there should rarely be a need to use this tool, however it is there for when it is needed.

Also can you describe those "glitches" that you saw?



Eh, some are hard to describe because I am not familiar with the fundamental eaccelerator backend code. But on occasion I saw situations where a user might have like 32M of memory for eaccelerator, it would get used up (how it's supposed to mind you) and then when it was supposed to be updated it might not be. Just some odd glitches. Nothing overly detremental, and it is easy enough to fix with the eaccelerator.php script included (with v0.9.4 at least) by clearing the memory and then rebuilding the caches in the ACP. This is somewhat rare, though.
Link to comment
Share on other sites

  • 2 months later...

Well...

I find this SUPER CACHE FUNCTION,


function init_cache_setup()
	{
		//--------------------------------
		// Eaccelerator...
		//--------------------------------

		if( function_exists('eaccelerator_get') AND isset($this->vars['use_eaccelerator']) AND $this->vars['use_eaccelerator'] == 1 )
		{
			require KERNEL_PATH.'class_cache_eaccelerator.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );
		}

		//--------------------------------
		// Turck-mmcache...
		//--------------------------------

		if( function_exists('mmcache_get') AND isset($this->vars['use_mmcache']) AND $this->vars['use_mmcache'] == 1 )
		{
			require KERNEL_PATH.'class_cache_mmcache.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );
		}		

		//--------------------------------
		// Memcache
		//--------------------------------	

		else if( function_exists('memcache_connect') AND isset($this->vars['use_memcache']) AND $this->vars['use_memcache'] == 1 )
		{
			require KERNEL_PATH.'class_cache_memcache.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );

			$this->cachelib->connect( $this->vars );
		}

		//--------------------------------
		// XCache...
		//--------------------------------

		else if( function_exists('xcache_get') AND isset($this->vars['use_xcache']) AND $this->vars['use_xcache'] == 1 )
		{
			require KERNEL_PATH.'class_cache_xcache.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );
		}		

		//--------------------------------
		// APC...
		//--------------------------------

		else if( function_exists('apc_fetch') AND isset($this->vars['use_apc']) AND $this->vars['use_apc'] == 1 )
		{
			require KERNEL_PATH.'class_cache_apc.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );
		}		

		//--------------------------------
		// Diskcache
		//--------------------------------	

		else if( isset($this->vars['use_diskcache']) AND $this->vars['use_diskcache'] == 1 )
		{
			require KERNEL_PATH.'class_cache_diskcache.php';
			$this->cachelib = new cache_lib( $this->vars['board_url'] );
		}

		if( is_object($this->cachelib) AND $this->cachelib->crashed )
		{
			// There was a problem - not installed maybe?

			unset($this->cachelib);
			$this->cachelib = NULL;
		}
	}




BUT inside this function init_cache_setup() - many differents cache ways...

Like:
- use_eaccelerator
- use_mmcache
- use_memcache
- use_xcache
- use_apc
- use_diskcache
- use_diskcache


So, i need select just ONLY ONE cache method for my FORUM or ALL? And How I can know - support or not my HOSTING this cache ways?

In config file i do this:

$INFO['use_eaccelerator'] = 1;
$INFO['use_mmcache'] = 1;
$INFO['use_memcache'] = 1;
$INFO['use_xcache'] = 1;
$INFO['use_apc'] = 1;
$INFO['use_diskcache'] = 1;
$INFO['use_diskcache'] = 1;

Well... i dont know... it's ok?

Please answer somebody...

Link to comment
Share on other sites

You only need to set one of them in the config file, but you would need to contact your host to find out which (if any) are enabled :)



So, i need just ONE from SEVEN... heh... like SEVEN seals....

- use_eaccelerator
- use_mmcache
- use_memcache
- use_xcache
- use_apc
- use_diskcache
- use_diskcache

So, what the BEST cache method 4 IPB?

Well... ok, 2morrow i will kick my HOST support :thumbsup:


Heh, if my hosting not support anyone of this method - ill do some personal modifications :ph34r:

1. in config add --> $INFO['are_u_can_use_cache'] = 0; // IF HOSTING NOT SUPPORT ANY METHOD :rolleyes:

And in index.php

//===========================================================================
// Get cache...
//===========================================================================

if ($ipsclass->vars['are_u_can_use_cache']) {
$ipsclass->init_cache_setup();
} // NO WAY 4 CACHE

:ph34r:
Link to comment
Share on other sites

So, i need just ONE from SEVEN... heh... like SEVEN seals....



- use_eaccelerator


- use_mmcache


- use_memcache


- use_xcache


- use_apc


- use_diskcache


- use_diskcache



So, what the BEST cache method 4 IPB?

Well... ok, 2morrow i will kick my HOST support :thumbsup:


Heh, if my hosting not support anyone of this method - ill do some personal modifications :ph34r:



1. in config add --> $INFO['are_u_can_use_cache'] = 0; // IF HOSTING NOT SUPPORT ANY METHOD :rolleyes:



And in index.php



//===========================================================================


// Get cache...


//===========================================================================



if ($ipsclass->vars['are_u_can_use_cache']) {


$ipsclass->init_cache_setup();


} // NO WAY 4 CACHE - WHY WE NEED CALL UNUSED FUNCTION :)



:ph34r:

Link to comment
Share on other sites

No no no don't do that - init_load_cache MUST be called, regardless of whether you can use an external cache method. If no cache methods are available (as a note, disk cache is always available, at least if safe mode is disabled) then the database is used. SOME method does need to be run however, so don't try to modify it NOT to call that function. IPB will instantly cease to load. ;)

So, what the BEST cache method 4 IPB?



No way to answer this really, as it varies depending upon size, availability, your server, memory, and so on.

In my opinion (personal opinion mind you)...

If you are on shared hosting, and can get one of the cache methods setup, I'd go with eaccelerator or xcache. Both perform pretty well.

Diskcache is excessively slow typically, and should only be used if your ibf_cache_store table locks up frequently.

memcache is tried and true, but typically this is an expensive setup and only found in corporate environments (where there are memcache server farms with 16GB+ memory in each server). If this is available, there's a good possibility this will perform the best, but it likely won't be available to most users.

APC I've not done much profiling with.

mmcache is outdated, only available for earlier php 4 versions, and you should be using eaccelerator instead if you are setting it up for the first time.
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...