Zadejte hledaný výraz...

Na VPS se přehlcuje složka se soubory sessions – proč se souborů vytváří tolik?

ladislavczech
verified
rating uzivatele
(4 hodnocení)
6. 2. 2016 23:08:23
Dobrý den,
na našem VPS se ve složce /var/lib/php5/ ukládá nadměrné množství souborů sessions, zhruba 4-6 za sekundu. Tyto soubory pravidelně 2x za hodinu maže cron. Přišli jsme na to právě díky cronu, který při aktivním stavu vytěžuje procesor téměř na 100% a zpomaluje celý systém, tím, že kontroluje a maže staré soubory.
Nevěděl by jste někdo proč se těch souborů vytváří tolik?
6. 2. 2016 23:08:23
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172595
Martin
verified
rating uzivatele
(62 hodnocení)
6. 2. 2016 23:14:16
Protože máte hodně návštěv?
6. 2. 2016 23:14:16
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172594
TomasX
verified
rating uzivatele
(4 hodnocení)
6. 2. 2016 23:15:29
Můj odhad. Mohou za to roboti. Každá jejich návštěva vám vytváří novou session. Neinicializujte session, pokud do ní nechcete nic uložit, na takové to úvodní oťukávání si stačí poznamenávat drobnosti do cookies a session vytvořit až třeba, když se návštěvník přihlásí nebo vloží něco do košíku.
Další možnost je přesunout session do nějaké databáze, třeba memcache, tam je promazávání poté rychlejší.
6. 2. 2016 23:15:29
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172593
ladislavczech
verified
rating uzivatele
(4 hodnocení)
6. 2. 2016 23:33:24
Určitě nemáme tolik návštěv aby to zapisovalo takové množství souborů.
Nevíte prosím kde lze nastavit, aby server Apache neinicializoval session do které nechceme nic uložit ?
6. 2. 2016 23:33:24
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172592
TomasX
verified
rating uzivatele
(4 hodnocení)
6. 2. 2016 23:35:32
ne apache, ale tvoji aplikaci. Povětšinou to zajišťuje php funkce session_start(), která právě novou prázdnou session vytvoří a poté do ní můžeš zapisovat...
6. 2. 2016 23:35:32
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172591
MAHI
verified
rating uzivatele
(15 hodnocení)
7. 2. 2016 10:57:25
Napsal ladislavczech;1264593
Dobrý den,
na našem VPS se ve složce /var/lib/php5/ ukládá nadměrné množství souborů sessions, zhruba 4-6 za sekundu. Tyto soubory pravidelně 2x za hodinu maže cron. Přišli jsme na to právě díky cronu, který při aktivním stavu vytěžuje procesor téměř na 100% a zpomaluje celý systém, tím, že kontroluje a maže staré soubory.
Nevěděl by jste někdo proč se těch souborů vytváří tolik?
4-6 souborů za sekundu je úplné prd a pokud máte normálně nakonfigurovaný server, nemělo by to vůbec vadit. Takže rada asi zjistit, proč nedokáže CRON vymazat řekněme 10 tisíc souborů každých 30 minut jak uvádíte. To by mělo zvládnout každé normální VPS.
Související a trochu vážnější problém je, když je vytvořeno skutečně hodně souborů (řádově miliony či desítky milionů) kvůli špatné konfiguraci:
https://www.dev-metal.com/how-the-php-session-garbage-collector-really-works/
(např. je nastaveno session.gc_probability=0)
V tom případě normální mazání nebude fungovat (resp. bude moc pomalé) a je potřeba to obejít:
https://www.binarysludge.com/2012/01/01/how-to-delete-millions-of-files-linux/
Mimochodem tento poslední odkaz může pomoct i pro váš problém, protože to není tak náročné na procesor jako normální mazání.
7. 2. 2016 10:57:25
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172590
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
7. 2. 2016 12:11:02
Taky koukněte, jestli náhodou nemáte nastavenou pro session neomezenou dobu platnosti.
7. 2. 2016 12:11:02
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172589
Václav Hodek
verified
rating uzivatele
(9 hodnocení)
7. 2. 2016 13:17:11
Nejsem si jist, jestli nemáte stejný problém, který se stal nám. Skript pro mazání session v určité verze Apache měl bug a děsně dlouho to trvalo a zůstavali nám viset CRON procesy. Stačilo upravit skript pro mazání session a bylo to.
Už přesně nevím, čím to bylo ale kolega to nějak vyřešil.
7. 2. 2016 13:17:11
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172588
ladislavczech
verified
rating uzivatele
(4 hodnocení)
7. 2. 2016 21:38:09
Tak jsme to nakonec vyřešili scriptem, který před spuštěním cronu maže session soubory, které jsou prázdné. Tím jsme se zbavili zbytečného množství souborů a pravidelný mazací cron už má mnohem méně práce a vytížení serveru trvá cca minutu.
Děkujeme všem za rady a nápady :-)
7. 2. 2016 21:38:09
https://webtrh.cz/diskuse/na-vps-se-prehlcuje-slozka-se-soubory-sessions-proc-se-souboru-vytvari-tolik/#reply1172587
Pro odpověď se přihlašte.
Přihlásit