Co zkusit, když WordPress dochází paměť

Mezi jednu poměrně vzácnou chybu, která se může u redakčního systému vyskytnout, je že skript spotřebuje více paměti, než mu server přidělí. Pokud máte svůj WordPress na běžném sdíleném webhostingu, většinou za tím je chyba v některém z rozšíření. U VPS můžete prostě vyčerpat přidělené limity. Dneska se podíváme jaké metody se používají k snížení náročnosti na paměť.

Nedostatek poměti poznáte celkem snadno. Prostě se znenadání objeví následující chyba:

Fatal error: Allowed memory size of 123456789 bytes exhausted …

Číslo se samozřejmě mění podle aktuální konfigurace a požadavků.

WordPress si většinou vystačí s 32 MB paměti. Doporučených je však 64 MB. V případě náročnějších pluginů, které mají za úkol například importovat větší objem dat anebo s nimi pracovat je pak vhodné porozhlédnout se po webhostingu, který povoluje 128 MB.

Maximální velikost paměti udává PHP memory_limit. Tuto hodnotu většinou najdete u svého webhostingového plánu. Popřípadě se dá zjistit přes PHP funkci phpinfo(). Ta vypíše konfiguraci PHP na vašem webhostingu.

Zjistěte kde je problém

Ve většině případů je problémem některý z pluginů. Zvláště to jsou pluginy, které pracují s větším objemem dat jako jsou RSS kanály, cache anebo úprava obrázků. Pomocí metody postupného vypínání zjistíte, který to je.

Pro lepší analýzu je možné využít i nějaký plugin na měření paměti. Doporučuje se například TPC! Memory Usage anebo WP Page Load Stats. Existují i komplexnější nástroje, ale tyto vám budou pro tentokrát stačit. Nezapomeňte je po ukončení testování vždy vypnout. Měly by sloužit pouze k ladění WordPress.

Jakmile zjistíte, který plugin vytěžuje instalaci nejvíce můžete se zkusit podívat na wordpress.org, zdali podobný problém neřešil některý z uživatelů s vývojářem.

Vypněte a smažte co nepotřebujete

Spousta lidí používá velké množství pluginů i když je ve skutečnosti nepotřebuje. Jednou za čas je třeba se zamyslet, zdali opravdu všechny ty pluginy ještě stále potřebujete a pokud ne, tak je deaktivovat a smazat. I neaktivní plugin totiž může být bezpečnostním rizikem. Pozor pokud vám plugin shromažďoval nějaká data, tak si je vyzálohujte před jeho smazáním.

Pro WordPress existuje velké množství pluginů na měření návštěvnosti. Ačkoliv má interní měření mnoho výhod, v případě, že vám dochází paměť se zkuste zamyslet zdali by se spíše nevyplatila externí služba jako Google Analytics.

Navýšení paměti

Pokud váš webhosting poskytuje více paměti než je běžné (64 MB), můžete si ve wp-config.php nastavit ať toho WordPress využije. Stačí přidat

define(„WP_MEMORY_LIMIT“, „128M“);

Místo 128 můžete dát prozatím 96 anebo 256. Záleží na limitech webhostingu. Zatímco u webhostingu je toto jedno z nejčastějších řešení, místo hledání a odstranění chyby, tak u VPS je člověk více limitován. Navýšení tohoto limitu totiž většinou znamená větší plýtvání systémovými prostředky a často nutnost pořídit si větší tarif.

Stará verze PHP

Stará verze PHP 5.3 často vytěžovala zbytečně paměť. Přepnutím na PHP 5.4 a vyšší můžete ušetřit desítky procent. WordPress je optimalizován na nejnovější verze PHP, takže nemusíte mít obavu, že by něco nefungovalo. Samozřejmě je třeba brát ohled i na šablonu a pluginy. Na druhou stranu zastaralé pluginy jsou celkem velkou bezpečnostní hrozbou a neměli byste je používat.

Přepnutí mezi verzemi PHP na sdíleném hostingu je většinou otázkou několika minut a nic to nestojí. Na druhou stranu je dobré to udělat, když má web minimální návštěvnost, protože se mohou objevit další chyby. Pokud používáte cachovací plugin doporučuji jej před přepnutím verzí vždy vyprázdnit a vypnout. Jakmile bude vše fungovat znovu jej zapněte.

U VPS je přechod na novou verzi náročnější, ale PHP 5.3 už je stejně zastaralé.

Pokud přechod na novou verzi PHP výrazně sníží nároky WordPress na paměť, považují to někteří odborníci za řešení.

Dočasná řešení

Navyšování paměti a vypínání pluginů jsou dočasná řešení. Musíte zjistit, kde je problém a vyřešit jej. Popřípadě najít nějakou alternativu. Například pokud se zpracovává velké množství dat, je ideální začít to řešit po částech. Často také tento problém nastává, když se pracuje s daty čistě z textových souborů. Zde je lepší vše postupně nahrát do databáze a pak s ní pracovat třeba po dávkách.

Autor Ginoza

Pracuji na zákaznické podpoře jednoho známého webhostingu.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *