Hi folks,
MediaWiki behaves very differently with PHP op-code caching enabled/disabled: WITH caching, page loads take roughly 10s each; WITHOUT caching, page loads take less than 1s. First off, stack info:
- nginx 1.2.6 with PHP handled by PHP-FPM
- MySQL 5.5.29-1
- PHP 5.3.21-1 with XCache 3.0.1, Suhosin 0.9.33
- MediaWiki 1.20.2 with Nuke 1.1.7, Renameuser, ParserFunctions 1.4.1, Vector 0.3.0, WikiEditor 0.3.1
So, I had a MediaWiki 1.15 setup working, and decided to upgrade to MediaWiki 1.20. After upgrading, I noticed a significant performance degradation in page load time (above 10s).
Investigation led me to try and comment out the $wgMainCacheType = CACHE_ACCEL;
directive in LocalSettings.php. This seemed to solve the issue (below 1s load time).
However, this is more of a workaround than a real solution. So I'm asking for help here, to find the real cause to the problem, and a cure for it.
Here are links to profiling logs generated with and without caching:
Looks like most of the 10s loading time is being eaten up in function MessageCache::load().
The following message seems weird to me:
- WITH caching:
MessageCache::load: Loading fr... cache is empty, loading from database, loading FAILED - cache is disabled
- WITHOUT caching:
MessageCache::load: Loading fr... got from global cache
Could it be that MessageCache::load() waits for something and times out after 10s? If so, what would it be waiting for? How do I fix it?
During installation, MediaWiki did not report any issue with my setup.
At any rate, here is the XCache part of the phpinfo() output. XCache reports to be enabled indeed: .
Can anyone suggest a course of action to further investigate this issue?
Unfortunately, the wiki is private and I cannot provide a URL for accessing it.
Thanks a bunch in advance,
Quentin