Před časem se mi ozval Dalibor Behún pro kterého jsem programoval web http://www.proofreading.cz/ s tím, že dostal na českém hostingu nůž na krk, protože totálně vytěžujeme server. Odpověď se hned nabízela – wordpress je poměrně nenasytný produkt a dokáže zkonzumovat strašná kvanta systémových prostředků. Klasika, nahodíme WP-Cache a problém bude vyřešen. Bohužel, opatření se minulo účinkem. Z hostingu stále docházely stížnosti a nakonec i onen nůž na krk v podobě 24 hodin na uklidnění situace a nebo opuštění serveru. To už byla seriózní výhružka a přitom  žádná zjevná příčina, na statistikách web nevykazoval zvýšenou návštěvnost, vše co šlo bylo cacheované, části webu které jsme sami dopsali a na které jsme byli náležitě hrdi byly pro jistotu cacheované vlastním systémem…

A přesto, nic nepomáhalo. Poslední možnost, pohled do logů apache… První varovný signál, log za jeden den měl několik megabajtů. Tedy zagzipovvaný, rozbalený měl kolem 100MB. To už bylo podezřelé. V logu bylo řádově statisíce řádků za den. Web měl přesto del statistik návštěvnost řádově v tisících. A po letmém pohledu do logu bylo zarážející zejména jak často je tam požadavek ve tvaru:

“GET /jak-se-poprat-s-nazvy-firem-s-malym-pismenem/scripts/scripts/scripts/scripts/scripts/scripts/scripts/scripts/\”%20+%20gaJsHost%20+%20\”google-analytics.com/\”%20+%20gaJsHost%20+%20\”google-analytics.com/scripts/scripts/scripts/scripts/scripts/scripts/\”%20+%20gaJsHost%20+%20\”google-analytics.com/ga.js

Dokonce tak často, že tvořily 91% denní komunikace serveru se světem. Jak je vidět z odkazu, problém byl v nějakém skriptu, který se snažil stáhnout celý web a ideálně i stránky, které na webu nejsou. Web totiž v patičce obsahoval kód google analytiky, který pomocí document.write připisoval do stránky své umístění (buď http nebo https). Útočící skript si to vzal po svém a pokusil se za aktuální URL vložit /scripts/ a text který se vkládal pomocí document.write.

Taková stránka ale nevyhodila regulérní 404 ale pouze upozornění botovi nesrozumitelné. A kód na analytiku. Rekurze byla na světě.

Řešení se ukázalo jako velmi prosté, pokud nám něco přistoupí do /scripts/ ohlásíme 404 chybu (stránka nenalezena) a ukončíme skript. Efekt byl okamžitý.


One Response to “Wordpress a totální vytížení serveru”

  1. Roberto Says:

    Mám podobný problém. Keďže nie som programátor, existuje niekde návod, ako to prakticky vyriešiť? Díky.

Leave a Reply


Search


About me

Name: Michal Tuláček
Work: Programátor, student, IT specialista
Location: Praha, Česká Republika
Můj profil na Fotogalerie.cz


Research

Library management

Categories


Photos

Archives


Links


Meta


RSS feeds


Nízkonákladové bydlení