Hirtelen sok apache szál

Néhány hetente előfordul, hogy egyik pillanatról a másikra kb. százzal több apache szál keletkezik, ilyenkor nem is válaszol a webszerver, de újraindítása után ezek az extra szálak eltűnnek és megy tovább rendesen. A logban nem látszik semmi extra, error log viszont ezen időszak alatt egyáltalán nem keletkezik. Mi lehet ez?

Hozzászólások

Kevés az infó.

Ha az apache adatbázis-szerverből dolgozik, akkor előfordul ilyen, ha az apache vár az adatbázis-szerverre. Érdemes ilyenkor nekiállni monitorozni az adatbázist. Pl. MySQL esetén: mytop

De várhat más erőforrásra is, pl. diszk. Érdemes nézegetni a szabad memóriát, a swap-elés mértékét (ha van) stb.

A LogLevel mire van állítva?

--
trey @ gépház

Az a baj, hogy semmi memória és diszk probléma nincs és ez olyankor is előfordult, amikor gyakorlatilag nincs forgalom (hajnalban). Lehet, hogy vár az adatbázis szerverre, de úgy tűnik, végtelen ideig, mert amíg le nem lőttem, addig ez az állapot fennállt.

A loglevel warn-ra van állítva. De mivel ilyenkor nem logol, nem látok semmi érdemlegeset.

Az egyik tuti szívás, ha akár az Apache log, akár a PHP-n belül bármi akar csinálni egy névfeloldást (A, PTR, MX, stb. rekordra) és a DNS éppen nem akar működni. Percekig tarthat, míg észreveszi egyetlen kérés, hogy nem kap választ. Csak áll az egész és nulla terhelést látsz. Elsőre nem triviális észrevenni. Már volt hasonló esetem vagy 5 percig vakartam a fejemet, amíg rájöttem hogy a külső authetikációs rendszer DNS hiba miatt elérhetetlen és a névfeloldáson állnak a PHP processzek.
Amúgy elképzelhető, hogy csúnya bácsik szkennelnek, de akkor látnád a terhelést is, bár az Apache-ot nem művészet lefektetni terhelés megjelenése nélkül, pl. a Slowloris nem logol a támadás alatt.

Bár nagyon kevés így az információ, de a legvalószínűbb, hogy a PHP szálak blokkolnak a következők egyikén:
- MySQL - esetleg a mysql-slow.log mond valamit
- Külső kérés miatt - a PHP-k kilőnek egy inter-szerver http (vagy más) kérést pl. külső authentikációs rendszer miatt vagy egyéb okból és lassú a válasz, esetleg már a névfeloldás is
- A session-adatok írása-olvasása lassú - pl. több gép között NFS-en megosztott session fájlok gyakran összeakadnak lock-hibával, ez a NetworkFailureSystem sajátossága, helyette jó mondjuk Sharedance, stb.

szerintem meg csúnya bácsik scannelik a web szerveredet ismert sebezhetőségek után és nem finomkodnak.