Inmiddels bijna een week bezig met oplossen van een tamelijk frustrerend probleem.
Wat is het geval, we hebben een webserver (Debian Linux) met MySQL database van +/- 15GB erop.
Apache2 draait icm met de laatste stable van php5. De queries zijn allemaal kort en krachtig en duren max 1 sec.
Bij een tamelijk lage load (tot ongeveer 1000 hits per uur) gaat alles prima. Zodra het drukker wordt gebeurt er iets eigenaardigs. Onze website blijft razendsnel, maar er ontstaat een geheugenlek die na ff wat pittige load (3K per uur) aan de swap begint te snoepen. Net zo lang totdat het helemaal niet meer kan, mysql bij zichzelf denkt: bekijk het maar. En in het ergste geval is de ssh daemon zelfs van z'n stokkie gegaan.
Geheugen wordt dus niet meer vrijgegeven, ook terwijl er geen load is. De processlist van MySQL wordt steeds langer en langer. En uiteindelijk gaat het systeem down. Wanneer we apache tussentijds restarten (bijvoorbeeld iedere 30 min) houden we het wel ff vol (geheugen van apache wordt dan weer vrijgegeven).
Het lijkt er dus op dat er ergens tussen apache en php, of tussen apache en mysql iets behoorlijk verkeerd gaat. We hebben echt meer dan genoeg performance, maar plotseling is het afgelopen!
Systeem specs: Athlon 2400 XP
1 GB ram
Linux Debian 3.1
Geinstalleerde packages (van source gecompiled)
- MySQL 5.0.16
- Apache 2.0.55
- PHP 5.1.5
Iemand enig idee wat hier gaande is?
Wat is het geval, we hebben een webserver (Debian Linux) met MySQL database van +/- 15GB erop.
Apache2 draait icm met de laatste stable van php5. De queries zijn allemaal kort en krachtig en duren max 1 sec.
Bij een tamelijk lage load (tot ongeveer 1000 hits per uur) gaat alles prima. Zodra het drukker wordt gebeurt er iets eigenaardigs. Onze website blijft razendsnel, maar er ontstaat een geheugenlek die na ff wat pittige load (3K per uur) aan de swap begint te snoepen. Net zo lang totdat het helemaal niet meer kan, mysql bij zichzelf denkt: bekijk het maar. En in het ergste geval is de ssh daemon zelfs van z'n stokkie gegaan.
Geheugen wordt dus niet meer vrijgegeven, ook terwijl er geen load is. De processlist van MySQL wordt steeds langer en langer. En uiteindelijk gaat het systeem down. Wanneer we apache tussentijds restarten (bijvoorbeeld iedere 30 min) houden we het wel ff vol (geheugen van apache wordt dan weer vrijgegeven).
Het lijkt er dus op dat er ergens tussen apache en php, of tussen apache en mysql iets behoorlijk verkeerd gaat. We hebben echt meer dan genoeg performance, maar plotseling is het afgelopen!
Systeem specs: Athlon 2400 XP
1 GB ram
Linux Debian 3.1
Geinstalleerde packages (van source gecompiled)
- MySQL 5.0.16
- Apache 2.0.55
- PHP 5.1.5
Iemand enig idee wat hier gaande is?