In the debugging information I see a possibly unnecessary SQL query for each enabled gadget:
[DBQuery] (my wiki) SELECT /* ResourceLoaderWikiModule::getTitleInfo */ page_namespace,page_title,page_touched,page_len,page_latest FROM `page` WHERE (page_namespace = '8' AND page_title IN ('Gadget-picPopup.css','Gadget-picPopup.js') )
Shoud this data not be cached somewhere?
MediaWiki configuration:
MediaWiki | 1.31.3 (d6ba909) 13:12, 24 июля 2019 |
PHP | 7.3.7-2+ubuntu19.04.1+deb.sury.org+1 (fpm-fcgi) |
MariaDB | 10.3.17-MariaDB-1:10.3.17+maria~disco-log |
ICU | 64.1 |
LilyPond | 2.18.2 |
LuaSandbox | 3.0.3 |
Lua | 5.1.5 |
Caching configuration:
$wgInvalidateCacheOnLocalSettingsChange = true; $wgMainCacheType = CACHE_ACCEL; $wgEnableSidebarCache = true; $wgCachePages = true; $wgUseKeyHeader = true; // Parser cache: $wgRevisionCacheExpiry = 3*24*3600; $wgParserCacheExpireTime = 60*60*24*7; $wgMessageCacheType = $wgMainCacheType; //CACHE_ACCEL; $wgUseLocalMessageCache = true; $wgMaxMsgCacheEntrySize = 131072; $wgShowExceptionDetails = true; $wgCacheDirectory = '/var/cache/mediawiki/' . $wgWiki; $wgLocalisationCacheConf = [ 'class' => LocalisationCache::class, 'store' => 'array', // Use opcache. 'storeClass' => false, // 'storeDirectory' => false, // == $wgCacheDirectory 'manualRecache' => true, // -- no update on web requests. Use rebuildLocalisationCache.php. ]; $wgMsgCacheExpiry = 2 * 24 * 60 * 60; // -- two days. // See https://phabricator.wikimedia.org/T215726: $wgWANObjectCaches [$wgMainCacheType] = [ 'class' => WANObjectCache::class, 'cacheId' => $wgMainCacheType, 'channels' => [] ]; $wgMainWANCache = $wgMainCacheType; // Since MW 1.27, until something faster but as persistent is found: $wgSessionCacheType = CACHE_DB; $wgObjectCacheSessionExpiry = 3600;
ResourceLoader configuration:
$wgResourceLoaderMaxQueryLength = 4096; // ResourceLoader caching: $wgResourceLoaderMaxage = [ 'versioned' => [ // Squid/Varnish but also any other public proxy cache between the client and MediaWiki 'server' => 30 * 24 * 60 * 60, // 30 days // On the client side (e.g. in the browser cache). 'client' => 30 * 24 * 60 * 60, // 30 days ], 'unversioned' => [ 'server' => 7 * 24 * 60 * 60, // 7 days 'client' => 7 * 24 * 60 * 60, // 7 days ] ]; // -- $wgResourceLoaderMaxage