ugrás a tartalomhoz

Apache2 Kifagyás, instabilitás (probléma megoldást kérek)

wolfnet2 · 2009. Dec. 13. (V), 22.09
Üdvözletem!

Elég nagy gondban vagyok. Immáron második napja akadozik a webes szolgáltatásunk apache2 probléma miatt. Elindul a kiszolgáló, eltelik 10-15 perc, a processz nem áll le, de a kiszolgálás megakad. Olyan mint egy DDOS támadás, de ezt azt hiszem kizárhatjuk mert 100 indításból 100 kifagy ugyan olyan idő eredményekkel. Úgy tűnik nekem mintha "túlhajszolná" magát a rendszer, és már nem bírna a folyamatokkal. Mintha nem lenne vége az elindított folyamatoknak. A processz lista szerint 190-230 apache2 folyamat is fut egyszerre olykor. Én config hibára gyanakszok, de a megoldást nem tudom.

Server Config:
2 GB ram, Intel Core 2 duo 2.4Ghz. (körül - belül 10-15 kevésbé forgalmas oldalt szolgálunk ki. )

Apache2 config (fontosabb részek):
...
Timeout 10
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 30
MaxSpareServers 100
MaxClients 155
MaxRequestsPerChild 200
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 100
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 200
</IfModule>

User www-data
Group www-data
...

Aki jártas a szakmában, kérem segítsen, fontos!
Köszönettel:
wolfnet
 
1

MPM

janoszen · 2009. Dec. 14. (H), 04.38
Az nem volna egészen lényegtelen információ, hogy milyen MPMet használtok. Remélem, preforkot, mert a worker nem fog menni mod_php-val.

Ha prefork modult használsz, akkor a StartServers értéke nekem kicsit alacsonynak tűnik, logika azt diktálná, hogy legyen az értéke legalább azonos a MinSpareServers értékével. A MaxRequestsPerChild értéket nyugodtan föltolhatod akár 1000-ig is, a MaxClients értéket meg ennél valamivel magasabbra. Ezen felül a KeepAliveokat érdemes kikapcsolni.

Ha ez még mindig nem segített, kapcsold be a status és info modulokat és nézd meg, hogy mi történik ilyenkor (mondjuk egy perces intervallumban). Ezen felül nézd meg a logokat, hogy mit írogat bele.

Ha semmi más nem segít, akkor strace paranccsal támadd meg az Apache processzeket.
2

Próbálkozok. Most a prefork

wolfnet2 · 2009. Dec. 14. (H), 15.34
Próbálkozok. Most a prefork megy, vagyis illetve az van egyedül beírva. Ami érdekes hogy 6 hónap alatt egyszer nem fordult elő ilyen, vagy ehhez hasonló hiba. Amit talán még kihagytam, hogy eaccelerator-t is használok a php cache-ra. Lehet hogy az rossz?

Most már 30-35 perce fut az apache, de körül-belül 190 apache2 folyamat van, ez gond? Valamint azért nem az igazi a sebesség. (szokásos 0.8MS helyett 120-150MS egy php generálás.

(amúgy megint kihalt :()
3

Status?

gphilip · 2009. Dec. 14. (H), 19.32
Mit mond a szerver státusz, amikor elkezd bedőlni?

http://localhost/server-status

Ha nem látod:
<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from localhost, 127.0.0.1
</Location>

ExtendedStatus On


Lehetséges, h valami rosszul öszerakott php script tartja fogva a processzeket, esetleg valami folyamatos http kéréseket generál.
4

beállítva

wolfnet2 · 2009. Dec. 18. (P), 00.36
Hello

beállítva, nézem az adatokat. Amin kiderül valami, írok. Köszönöm.
5

érdekes

wolfnet2 · 2009. Dec. 18. (P), 07.46
Üdv!

CPU Usage: u62.76 s166.63 cu.06 cs0 - .872% CPU load
.454 requests/sec - 3105 B/second - 6.7 kB/request
26 requests currently being processed, 6 idle workers

A server load: 1.2 körül, az adat mégis szép. Amiből sok van:
32-5 - 0/0/82 . 3.55 442 0 0.0 0.00 0.50 ::1 wolfnet-studio.com OPTIONS * HTTP/1.0

Ez mit csinál?
6

fejlemény

wolfnet2 · 2009. Dec. 18. (P), 21.43
Nos, már 10-11 órát is hajlandó menni a gépezeten az apache2.2.9. Érdekes dolog hogy nonstop 300-400 request van /sec ... kicsit sokallom, utána nagy százalékban meghal.
7

teljes

gphilip · 2009. Dec. 19. (Szo), 00.02
Szia, teljes statust nem tudsz esetleg küldeni?
8

Megnézem

janoszen · 2009. Dec. 19. (Szo), 10.29
Ha gondolod, holnap lesz némi szabadidőm, ránézek Neked szívesen. Keress meg privátban: business##kukac##janoszen.hu