Během svátků Prvního máje servisní tým aktualizoval serverové prostředí webu Yitaobang z 5,3 PHP na 5,6 PHP a po úspěšném upgradu byl procesor serveru zvýšen na více než 90 %, což zůstává vysoké hodnoty. Zkontrolujte server a zjistíte, že více procesů PHP-FPM způsobuje příliš vysokou zátěž CPU, což způsobuje, že webová stránka není dostupná normálně. Opakované přeinstalace serverového prostředí a PHP verze a dokonce i změna PHP na HHVM nemohou problém s vysokou zátěží CPU vyřešit.
Provozní proces serveru E-Taobang (diagram architektury služby): Uživatelský klient → řešení doménových jmen → Baidu Cloud Acceleration Node (CDN/caching/anti-DDOS/CC útoky) → Alibaba Cloud Shield (anti-CC/DDOS/WAF útoky) → ECS zdrojovém serveru (CSS, JS a obrázky pro CDN diversion) a Alibaba Cloud Cloud Shield nemá žádné informace o útoku, takže lze zcela vyloučit útok.
Když se podívám na nginx logy, php-fpm logy a slow logy, nejsou zde žádné abnormální faktory a vidím více TIME_WAIT informací z příkazu netstat -n, který je způsoben IP segmentem 100.97.x.x (poslední IP segment je IP adresa poslechové služby Alibaba Cloud SLB).
Bez dalšího otálení si pojďme povědět o konkrétním řešení, které nakonec řešil profesionální provozní a údržbářský tým Yitao Gang (V Station Power), a výsledkem bylo, že zatížení CPU způsobené nastavením monitorování služeb SLB bylo příliš vysoké. Původní SLB služba naslouchá HTTP protokolovému portu 80 a kontrola stavu http protokolu pravidelně odesílá HTTP požadavky z více hlav, což vede k nepřetržitému přístupu ke čtení HTTP, což způsobuje, že zatížení CPU přesahuje 90 % po dlouhou dobu, a konkrétní kvóta zatížení CPU závisí na konfiguraci ECS. Po změně služby kontroly stavu procesoru přejde do offline režimu.
Pokud nastane i tato situace, změňte konfiguraci pro kontrolu stavu SLB služby naslouchání z HTTP protokolu 80 na TCP protokol 80 následovně:
|