While doing work on our new infrastructure, I noticed response times can skyrocket when the message cache is not present. @Paladox
and I already discussed message caching before, since I suspected it was primarily responsible for the slowness or fluctuations for MediaWiki.
It is worth investigating if we are using the right configuration settings for caching.
$ curl https://test2.miraheze.org/wiki/Main_Page?forceprofile=1 | grep -i message % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 53573 0 53573 0 0 57114 0 --:--:-- --:--:-- --:--:-- 57114 65.32% 197.303 271 - Message::toString 57.42% 173.443 385 - Message::fetchMessage 55.41% 167.379 316 - MessageCache::get 54.53% 164.715 316 - MessageCache::getMessageFromFallbackChain 54.50% 164.626 353 - MessageCache::getMessageForLang 53.97% 163.018 30 - Message::plain 53.30% 161.000 318 - MessageCache::getMsgFromNamespace 52.11% 157.395 318 - MessageCache::load 51.15% 154.506 1 - MessageCache::loadFromDBWithLock 43.38% 131.022 1 - MessageCache::saveToCaches 6.23% 18.829 217 - Message::text 5.66% 17.088 1 - MessageCache::loadFromDB 4.87% 14.700 8 - Message::parse 4.69% 14.167 4 - Message::parseText 4.67% 14.092 4 - MessageCache::parse 4.26% 12.861 235 - Message::transformText 4.13% 12.473 239 - MessageCache::transform 2.05% 6.184 13 - MessageCache::getParser 1.85% 5.602 557 - Message::getLanguage 0.99% 2.979 352 - Language::getMessage 0.98% 2.960 88 - Message::exists 0.72% 2.172 64 - Language::getMessageFromDB 0.59% 1.768 1 - MessageCache::setValidationHash 0.48% 1.456 2 - Language::getMessageKeysFor 0.41% 1.240 443 - MediaWiki\Languages\LanguageNameUtils::getMessagesFileName $ curl https://test2.miraheze.org/wiki/Main_Page?forceprofile=1 | grep -i message % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 49602 0 49602 0 0 75497 0 --:--:-- --:--:-- --:--:-- 75497 28.17% 41.517 271 - Message::toString 13.73% 20.237 385 - Message::fetchMessage 11.30% 16.654 217 - Message::text 9.93% 14.636 8 - Message::parse 9.55% 14.076 4 - Message::parseText 9.51% 14.011 4 - MessageCache::parse 9.28% 13.682 316 - MessageCache::get 7.42% 10.928 316 - MessageCache::getMessageFromFallbackChain 7.33% 10.798 353 - MessageCache::getMessageForLang 7.17% 10.564 235 - Message::transformText 6.90% 10.171 239 - MessageCache::transform 6.42% 9.456 30 - Message::plain 4.86% 7.155 318 - MessageCache::getMsgFromNamespace 4.16% 6.126 557 - Message::getLanguage 3.23% 4.764 13 - MessageCache::getParser 2.28% 3.362 318 - MessageCache::load 2.15% 3.163 88 - Message::exists 2.05% 3.016 352 - Language::getMessage 1.60% 2.351 64 - Language::getMessageFromDB 1.21% 1.785 1 - Language::getMessageKeysFor 0.93% 1.365 443 - MediaWiki\Languages\LanguageNameUtils::getMessagesFileName