[apc-warning]  – GC Cache, dlouhotrvající skripty, zatěžování serveru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Tužil
Člen | 1
+
0
-

Zdravím,
na webu s návštěvností kolem 100 000 lidí denně (dle GA) máme stále problém s údajným vytěžováním serveru a následným zablokováním ze strany hostingu. Stránky běží na Nette frameworku, hosting poskytuje Webcloud.

Stránky však běží bez sebemenších problému, načítají se OK téměř ihned. Webcloud je ale zablokuje s tím, že vytěžujeme celý server a stránky je potřeba zoptimalizovat, dle error logu. Prý se některé skripty načítají výrazně dlouho. V error logu se stále dokola zapisuje varování např.:

Aug 16 16:13:15 www-05 logger: [Sat Aug 16 16:13:15 2014] [apc-warning] GC cache entry ‚…cesta k souboru…‘ (dev=31 ino=15078286) was on gc-list for 361 seconds in …cesta k souboru úplně jiného webu… on line 124

Přitom první cesta jsou vždy soubory Nette frameworku a druhá cesta vede k souboru úplně cizího webu.
Podpora nám také poslala log z apache cache, kde je zase doopravdy vidět, že se některé skripty zpracovávají až stovek sekund.

Jak vyřešit skripty, které se občas načítají až stovky sekund? Pokud navštívím jakoukoliv adresu z logu, která se načítala výrazně déle, ihned se zpracuje a okamžitě vidím obsah dané stránky. Osobně jsem toto chování na webu zatím nezaznamenal. Stačí nastavit max_execution_time?

Jan Tvrdík
Nette guru | 2595
+
0
-

Tak max_execution_time bys měl mít nastaveno každopádně, nezávisle na tom, zda máš problémy s výkonem. Nicméně to problém tak leda utlumí, těžko ho to vyřeší.

Hledal bys někde dead-lock. Nepoužíváš třeba na session Kdyby\Redis s emulated storage?