Use wfGetCache( CACHE_ANYTHING ) instead of $wgMemc to store the result of ResourceLoader::filter(). Speeds up cold cache view of the main page on a non-APC default installation by a factor of 2.3 (measured using siege, no concurrency, URL list captured from Firefox, server = my laptop).
This commit is contained in:
parent
f756d9f9e8
commit
04b2b29db7
1 changed files with 5 additions and 5 deletions
|
|
@ -119,8 +119,6 @@ class ResourceLoader {
|
|||
* @return String: Filtered data
|
||||
*/
|
||||
protected function filter( $filter, $data ) {
|
||||
global $wgMemc;
|
||||
|
||||
wfProfileIn( __METHOD__ );
|
||||
|
||||
// For empty/whitespace-only data or for unknown filters, don't perform
|
||||
|
|
@ -132,9 +130,11 @@ class ResourceLoader {
|
|||
return $data;
|
||||
}
|
||||
|
||||
// Try for Memcached hit
|
||||
// Try for cache hit
|
||||
// Use CACHE_ANYTHING since filtering is very slow compared to DB queries
|
||||
$key = wfMemcKey( 'resourceloader', 'filter', $filter, md5( $data ) );
|
||||
$cacheEntry = $wgMemc->get( $key );
|
||||
$cache = wfGetCache( CACHE_ANYTHING );
|
||||
$cacheEntry = $cache->get( $key );
|
||||
if ( is_string( $cacheEntry ) ) {
|
||||
wfProfileOut( __METHOD__ );
|
||||
return $cacheEntry;
|
||||
|
|
@ -159,7 +159,7 @@ class ResourceLoader {
|
|||
}
|
||||
|
||||
// Save filtered text to Memcached
|
||||
$wgMemc->set( $key, $result );
|
||||
$cache->set( $key, $result );
|
||||
|
||||
wfProfileOut( __METHOD__ );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue