Ständige 100% Auslastung von einem Kern auf meinem vServer

  • Hallo zusammen,
    ich habe zurzeit das Problem, dass der Zugriff auf roundcube webmail eeeeewig dauert, und habe mit htop mal nach der ursache gesucht (htop = immer mein erster schritt). Da sehe ich, dass ein Kern schon seit Stunden 100% ausgelastet ist. Die anderen 15 (!) zwar nicht bis gar nicht, aber ein völlig ausgelasteter Prozessor-Kern ist doch komisch, das muss ja ein einzelner Prozess sein, sonst würde der Scheduler die ja gleichmäßig verteilen.


    Kann das mein Problem sein? Ist das mit den 100% normal?
    Abschnittsweise sind auch meine Homepages sehr langsam, dann ne weile wieder ganz flott und hin und wieder eben mal gaaaanz langsam.


    So ganz zufrieden bin ich mit der Situation nicht...

  • Bei mir sind es auf meinem 1. v(olk)Server heute abend immer wieder zu manchen Zeiten (alle viertel Stunde oder so) solche Lastspitzen.

  • Also wegen Apache-Config:
    Das ist die Standard-Config von Netcup.
    Außer ein paar kleinen Änderungen an der php.ini habe ich nichts geändert.


    Außerdem habe ich das Problem erst seit kurzem und Auslastungstechnisch hat sich seither nichts geändert.


    Ich benutzt übrigens 370 MB von meinen 2000... und die meiste CPU verschlingt mein htop mit 0.6...

  • hallo,
    hatte vor kurzem auf meinem volks-server auch das problem, dass roundcube nach dem login ewig brauchte (ca. 2...3 minuten) um den posteingang anzuzeigen. darin sind ca. 1500 mails. sollte also eigentlich nicht das problem sein. auffällig war, dass das login-problem plötzlich auftrat, d.h. von einem tag auf den anderen ohne das irgendwelche änderungen am system bzw. der config durchgeführt wurden. habe daraufhin den spam-, den gelöscht-ordner geleert, die db über phpmyadmin geprügft & optimiert. und zum schluss noch mysql auf den neuesten stand gebracht. danach ging es wieder problemlos. leider alle schritte mehr oder weniger auf einen rutsch, so dass ich nicht genau sagen kann an was es gelegen hat. mir schien allerdings das prob eher mysql-seitig aufgetreten zu sein, dass der ewig beim zugriff auf die DB benötigte.

    viel erfolg
    jkn

  • Zitat

    Kann das mein Problem sein? Ist das mit den 100% normal?


    Das ist normal. Ein anderer Nutzer des Nodes, wird einen entsprechend langen Prozess am arbeiten haben. Es stehen Ihnen ja noch genügend freie Kerne zur Verfügung.

  • Zitat von [netcup] Felix;21366

    Das ist normal. Ein anderer Nutzer des Nodes, wird einen entsprechend langen Prozess am arbeiten haben. Es stehen Ihnen ja noch genügend freie Kerne zur Verfügung.


    Ja, wie gesagt, meistens spürt man das nicht, Seitenaufruf in Bruchteil einer Sekunde, aber hin und wieder dauert es plötzlich 20 Sekunden oder so.
    Ob das an den 100% liegt oder nicht kann ich nicht beurteilen. An meinen Settings habe ich nichts geändert.


    Bezüglich Roundcube:
    Der Login dauert bei mir so lange, also bis die Mails angezeigt werden. Eine überfüllte DB kann es bei mir eher nicht sein, es gibt nur 3 Mails in meinem Eingang =D.


    Edit:
    Also momentan ist es wieder ganz schlimm, habe es in roundcube und phpmyadmin ausprobiert. Ewige Ladezeiten.
    Ich bestätige den Link im Browser mit ENTER, dann dauert es mehrere Sekunden, und ERST DANN blitzt der Apache-Prozess kurz in htop ganz oben auf und mir wird die Seite im Browser angezeigt. Es ist so als würde das Signal so lange zum Server brauchen, und wenn es dann da ist geht die Verarbeitung wie bisher blitzschnell.

  • Zitat von Guybrush;21391

    Ich bestätige den Link im Browser mit ENTER, dann dauert es mehrere Sekunden, und ERST DANN blitzt der Apache-Prozess kurz in htop ganz oben auf und mir wird die Seite im Browser angezeigt


    Falls der Host nicht extrem ausgelastet ist, dann sieht das nach einem DNS-Problem aus. Alle deine eingetragenen Nameserver sind erreichbar und antworten?


    edit: Hast du mal versucht das Problem mit den üblichen Methoden, also Debugging, etc., nachzuverfolgen? Dann siehst du schnell was das Problem ist.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Da ich eigentlich nur die ip adresse und die Standardeinstellungen von Syscp/Netcup benutze dürfte DNS eigentlich nicht das Problem sein


    (hab gerade erst deinen Edit gesehen:)
    also ausgelastet ist der eigentlich nicht, bis auf den einen 100% Kern.
    Wegen Debugging, ich hatte nie ein Problem . Ich habe alles eingerichtet und alles lief bestens. Dieser unregelmäßig auftretende Lag kam erst viel später.

  • Also, ich bin mir jetzt ziemlich sicher, dass mein lag-Problem auf den einen einzelnen voll ausgelasteten Prozess zurückzuführen ist.
    (Lag-Problem = Unregelmäßig auftretende ca. 15 Sekunden anhaltende "Unterbrechungen" in denen man keine von meinen Seiten aufrufen konnte)
    Ich habe gestern noch den ganzen Tag probiert die MySQL-Datenbank zu optimieren und nichts hat geholfen.
    Über heute Nacht ist dann der 100% Kern nach mehrtägiger Volllast verschwunden, und mit ihm mein Lag-Problem.


    Irgendwelche Ideen dazu?
    Ich will diesem Problem schließlich vorbeugen...

  • Eigentlich relativ unrealistisch, immerhin hast du eine garantierte CPU-Zuteilung und das OS macht ein Scheduling für die CPU-Zeit-Vergabe, da noch genug Kerne frei sind, sollten keine Probleme auftreten.


    Muss es wirklich an der CPU-Leistung liegen? Wie sieht es mit dem iowait aus? Denn wenn dieser Prozess, der den Core voll auslastet, auch sehr stark auf der HDD arbeitet, würde das eher passen.
    (ich erinnere mich da nämlich dunkel an jemanden mit iowait-Problemen)


    Dass das MySQL optimieren nicht geholfen hat, ist auch relativ, hmm, ungenau ausgedrückt. Welche Probleme bestehen, welche Ursachen hat dies und was hast du zur Optimierung unternommen.

  • Zitat von ice-breaker;21466


    Muss es wirklich an der CPU-Leistung liegen? Wie sieht es mit dem iowait aus? Denn wenn dieser Prozess, der den Core voll auslastet, auch sehr stark auf der HDD arbeitet, würde das eher passen.
    (ich erinnere mich da nämlich dunkel an jemanden mit iowait-Problemen)


    Nein, es muss nicht in der CPU-Leistung direkt liegen, ich wollte eher ausdrücken, dass ich da eine Verbindung sehe, der Tipp mit dem IO-Wait ist da schon sehr gut, würde ja auch Sinn machen, da das Problem scheinbar eher bei Aktionen auftritt die eher selten passieren (Roundcube, phpmyadmin) und daher nicht ge-cached sind wogegen die (halbwegs) oft besuchte Webseite von mir sehr flott da ist.


    Optimiert habe ich die Variablen die mir mysqltuber.pl vorgeschlagen hat, das waren table_cache und optimieren einer bestimmten tabelle, die scheinbar defragmentiert war.


    Sry, dass ich das ungenau ausgedrückt habe, mit SQL-Optimbierung hatte ich bisher nichts am Hut, lief auf allen meinen Servern bisher auch ohne spezielle Optimierung bestens. Ich habe ja auch keine besonders großen DBs, und ungewöhnlich viele auch nicht.

  • Zitat von Guybrush;21468

    da das Problem scheinbar eher bei Aktionen auftritt die eher selten passieren (Roundcube, phpmyadmin) und daher nicht ge-cached sind.


    beide greifen auf MySQL zu, also für mich sieht das mehr nach einem MySQL-Problem aus.


    Zitat von Guybrush;21468

    Optimiert habe ich die Variablen die mir mysqltuber.pl vorgeschlagen hat, das waren table_cache und optimieren einer bestimmten tabelle, die scheinbar defragmentiert war.


    das ersetzt kein richtiges optimieren ;)
    1. MySQL auf die neueste Version upgraden
    2. folgendes in die Config aufnehmen:

    Code
    [URL='http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log']slow_query_log[/URL] 1
    [URL='http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log_file']long_query_time = 1[/URL]
    log_queries_not_using_indexes


    das SlowQuery-Log sollte sich nun mit langsamen Querys füllen, die analysiert werden müssen (EXPLAIN).
    Google wird dir helfen, oder du fragst hier nochmal nach.

  • Zitat von ice-breaker;21470

    beide greifen auf MySQL zu, also für mich sieht das mehr nach einem MySQL-Problem aus.


    Ja natürlich greifen beide auf MySQL zu, aber soweit ich weiß cached mysql häufig angefragte Tabellen. Das meinte ich eigentlich. Aber wenn ich gerade Blödsinn behauptet habe Asche auf mein Haupt.


    Die slow_query_log hab ich auch schon aktiviert, long_query_time ist bei mir allerdings = 2 . Soll ich das ändern?


    log_queries_not_using_indexes werde ich mir noch anschauen, das kenne ich noch nicht.


    Danke erstmal für die Tipps, wenn es das nächste Mal Probleme gibt werde ich mir die Logs diesbezüglich anschauen und mich gegebenenfalls zurück melden!
    Danke!

  • Zitat von Guybrush;21471

    aber soweit ich weiß cached mysql häufig angefragte Tabellen. Das meinte ich eigentlich. Aber wenn ich gerade Blödsinn behauptet habe Asche auf mein Haupt.


    theoretisch hast du Recht, es gibt den Query-Cache, gleiche Anfragen können aus dem Cache bedient werden. Aber sobald nur ein Wert in der Tabelle geändert wird, wird der ganze Cache geleert, von daher ist der ziemlich nutzlos.


    Zitat von Guybrush;21471

    long_query_time ist bei mir allerdings = 2 . Soll ich das ändern?


    jup

  • Hi,


    ich hatte genau das selbe Problem wie der Threadersteller. Roundcube 0.4 nach Anleitung aus der ispcp doku installiert. Seitdem ein Kern immer auf 100% und Lags bis hin zu 500 Errors.


    Nachdem ich innodb deaktiviert und wieder aktiviert habe, war das Problem behoben!


    Ein Restart hat die Logs mit einigen Zeilen bzgl Roundcube gefüllt - incorrect information in den *.frm files:


    Code
    Sep  8 19:19:18 server1 mysqld[3508]: 100908 19:19:18 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './roundcubemail/users.frm'
    ..........

    Seitdem läuft alles wie es soll!



    Viele Grüße

  • Danke für den Hinweis!
    Die 100% Last ist verschwunden, deshalb habe ich mich damit nicht weiter beschäftigt, aber der Fehler ist sicher noch vorhanden. Ich schau mir das demnächst mal an.