Debian Etch Server steht fast
Load Avarage 24 und höher
Hi,
ich betreibe privat ein root Server bei meinem Provider mit einem Debian Etch System und den üblichen Verdächtigen wie APache2, mySQL und PHP 4 & 5 drauf und alle paar Tage hat der Server das Problem, dass er einfach extrem langsam wird und die CPU Auslastung auf 100% hoch schießt. Load avarage liegt dann bei ca. 24 was viel zu hoch ist. Es laufen ca. 20 Webs darauf, aber alles nix wildes.
Wenn ich mir mit htop in dem Moment die Prozesse anschaue, dann liegen meist 1-2 mysqld Prozesse bei 100%. Auch jetzt aktuell nachdem ich den Apache2 beendet habe, gewartet habe bis sich alles beruhigt und wieder starte, liegen die CPU% bei mehreren mysqld Prozessen bei 50% und höher. Teilweise sogar 100%. Irgendwie erscheint mir da was komisch. Ab und zu hat auch der php5 Prozess 100%, aber das eher selten.
Gibt es irgendwie die Möglichkeiten einzelne DBs abzuschalten um mal zu schauen welche DBs dafür verantwortlich sind, oder einzelne Webs zu beenden? Oder wie könnte ich der hohen Auslastung entgegen wirken, denn von Server würde ich sagen, sollte der das alles schaffen. 2 Proessoren (Core2Duo), 1GB RAM die rel wenig ausgelastet sind.
Wäre super, wenn jemand ein paar Tipps dazu geben könnte, da ich schon des öfteren versucht habe da was zu machen *Seufz*
MfG,
Lars
Hi,
ich betreibe privat ein root Server bei meinem Provider mit einem Debian Etch System und den üblichen Verdächtigen wie APache2, mySQL und PHP 4 & 5 drauf und alle paar Tage hat der Server das Problem, dass er einfach extrem langsam wird und die CPU Auslastung auf 100% hoch schießt. Load avarage liegt dann bei ca. 24 was viel zu hoch ist. Es laufen ca. 20 Webs darauf, aber alles nix wildes.
Wenn ich mir mit htop in dem Moment die Prozesse anschaue, dann liegen meist 1-2 mysqld Prozesse bei 100%. Auch jetzt aktuell nachdem ich den Apache2 beendet habe, gewartet habe bis sich alles beruhigt und wieder starte, liegen die CPU% bei mehreren mysqld Prozessen bei 50% und höher. Teilweise sogar 100%. Irgendwie erscheint mir da was komisch. Ab und zu hat auch der php5 Prozess 100%, aber das eher selten.
Gibt es irgendwie die Möglichkeiten einzelne DBs abzuschalten um mal zu schauen welche DBs dafür verantwortlich sind, oder einzelne Webs zu beenden? Oder wie könnte ich der hohen Auslastung entgegen wirken, denn von Server würde ich sagen, sollte der das alles schaffen. 2 Proessoren (Core2Duo), 1GB RAM die rel wenig ausgelastet sind.
Wäre super, wenn jemand ein paar Tipps dazu geben könnte, da ich schon des öfteren versucht habe da was zu machen *Seufz*
MfG,
Lars
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125373
Url: https://administrator.de/contentid/125373
Ausgedruckt am: 05.11.2024 um 06:11 Uhr
4 Kommentare
Neuester Kommentar
Wow, 1 GB RAM ist für meine Begriffe definitiv NICHT ausreichend...
(wobei, kommt ja immer auf die DB-Queries und Zugriffe an...)
Wie wäre es denn einfach mal mit Logfile-Analyse...?
Lonesome Walker
(wobei, kommt ja immer auf die DB-Queries und Zugriffe an...)
Wie wäre es denn einfach mal mit Logfile-Analyse...?
Lonesome Walker
"Gibt es irgendwie die Möglichkeiten einzelne DBs abzuschalten um mal zu schauen welche DBs dafür verantwortlich sind, "
Aber sicher
Wenn du zb PHPMYADMIN nutzt gibt es dort nen Reiter wo du die einzelnde Usern sperren kannst
UND
auch die derzeit aktivien Userzustände ansehen.
Ob der User xyz grad nen Query macht ect..
Aber sicher
Wenn du zb PHPMYADMIN nutzt gibt es dort nen Reiter wo du die einzelnde Usern sperren kannst
UND
auch die derzeit aktivien Userzustände ansehen.
Ob der User xyz grad nen Query macht ect..
Falls du das Binary-Logging des MySQL-Servers (ist bei Debian glaube ich per Default an) z.B. über PHPMyAdmin anguckst, kannst du auch die Queries sehen, die ausgeführt wurden.
Allerdings hat dieses Logging einen extremen Nachteil: Bei sehr vielen gleichzeitigen Abfragen bremst es den Server gerne mal aus. Deshalb sollte man es eigentlich auch nur dann einschalten, wenn man es wirklich braucht.
In der my.cf von MySQL wirst du fündig.
Könnte aber auch eine Datenbank mit Volltext-Indexen sein - werden da viele Inserts oder Updates gemacht, muss natürlich auch der Index aktualisiert werden, was den MySQL-Server bei großen Datenbanken mit vielen indizierten Feldern durchaus stressen kann.
Allerdings hat dieses Logging einen extremen Nachteil: Bei sehr vielen gleichzeitigen Abfragen bremst es den Server gerne mal aus. Deshalb sollte man es eigentlich auch nur dann einschalten, wenn man es wirklich braucht.
In der my.cf von MySQL wirst du fündig.
Könnte aber auch eine Datenbank mit Volltext-Indexen sein - werden da viele Inserts oder Updates gemacht, muss natürlich auch der Index aktualisiert werden, was den MySQL-Server bei großen Datenbanken mit vielen indizierten Feldern durchaus stressen kann.