Příručka:$wgMainCacheType
| Mezipaměti: $wgMainCacheType | |
|---|---|
| Nastavení mezipaměti objektů |
|
| Zavedeno od verze: | 1.5.0 |
| Odstraněno od verze: | stále se používá |
| Povolené hodnoty: | (Jedna z konstant CACHE (viz níže) nebo řetězec označující typ mezipaměti nastavený jako klíč v $wgObjectCaches) |
| Výchozí hodnota: | CACHE_NONE |
| Další nastavení: Podle abecedy | Podle funkce | |
Podrobnosti
Umožňuje konfigurovat použitou mezipaměť objektů.
Zde jsou standardně dostupné klíče (definované jako konstanty v Defines.php):
CACHE_NONE– neukládat do mezipaměti (výchozí).CACHE_ANYTHING– použijte $wgMessageCacheType nebo $wgParserCacheType, pokud jsou nastaveny na něco jiného nežCACHE_NONEneboCACHE_ANYTHING. Jinak použijteCACHE_DB.CACHE_ACCEL– použijte APCu, pokud je k dispozici. (maintenance/install.php přidá řádek$wgMainCacheType = CACHE_ACCEL;do vaší konfigurace.)CACHE_MEMCACHED– pokud je k dispozici, použijte memcached. Servery musí být navíc specifikovány v $wgMemCachedServers.CACHE_DB– použijte databázovou tabulku objectcache.
- Varování: To může být potenciálně pomalejší než žádné ukládání do mezipaměti, tj.
CACHE_NONE.
PHP funguje tak, že zkompiluje soubor PHP do bytecode a poté tento bytecode spustí. Proces kompilace velké aplikace, jako je MediaWiki, trvá značně dlouho. PHP akcelerátory fungují tak, že ukládají zkompilovaný bajtový kód a přímo jej spouštějí, což snižuje čas strávený kompilací kódu.
OPcache je součástí PHP 5.5.0 a novějších a je doporučeným akcelerátorem pro MediaWiki.
Mezipaměti operačních kódů ukládají zkompilovaný výstup PHP skriptů, což výrazně snižuje množství času potřebného k několikanásobnému spuštění skriptu. MediaWiki nemusí být nakonfigurováno pro ukládání bajtkódu PHP do mezipaměti a po instalaci a povolení bude "prostě fungovat".
Viz $wgObjectCaches pro příklad vlastního backendu mezipaměti (např. Redis).
- Bylo uvedeno, že direktiva
CACHE_MEMCACHEDposkytne nejvýznamnější zvýšení výkonu v případě, že máte nainstalovanou mezipaměť memcached a operační kód. - Toto je pouze jedno z nastavení ukládání do mezipaměti MediaWiki. Pro nejlepší výkon možná budete muset zvážit další nastavení ukládání do mezipaměti. Podívejte se na stránku performance tuning.
- Od MediaWiki 1.27 se relace PHP ukládají do mezipaměti v závislosti na proměnné tohoto nastavení, pokud nejsou přepsány $wgSessionCacheType. To může způsobit problémy při použití
CACHE_ACCEL, pokud je apcu špatně nakonfigurováno (see T147161).
Problém s přihlašovací relací k APCu v prostředí s více procesy nebo více servery
$wgSessionCacheType inherits $wgMainCacheType unless configured otherwise.
Selecting CACHE_ACCEL as the cache type can cause inconsistent behavior where session data is lost, and the user must log back in. Je to proto, že procesy php-fpm mohou být krátkodobé nebo spolu špatně komunikují. V prostředí s více servery se mohou vyskytnout i problémy.
Řešením je použít databázi k ukládání těchto relací. Přidejte následující řádek do LocalSettings.php
$wgSessionCacheType = CACHE_DB;