Hoch %wa CPU-Last, wenn PHP als CLI
Sorry für die vage Frage, aber ich habe nur geschrieben, etwas php code, der ausgeführt wird, selbst als CLI, und ich bin mir ziemlich sicher, dass es verursacht. Wenn ich "top" auf der Kommandozeile, es ist mit sehr wenig Ressourcen, die der einzelne Prozess, sondern zwischen 40-98% iowait Zeit (%wa). Normalerweise habe ich über .7% verteilt %uns und %sy, mit der die restlichen Mittel für die idle-Prozesse (irgendwo zwischen 20-50% in der Regel).
Diesem server ausführen von MySQL-Abfragen, gut, 300x die Zeit, die es dauert, anderer Server zum ausführen der gleichen Abfrage, und es auch nimmt, was scheint wie eine Ewigkeit zum anmelden per SSH... also, trotz etwas Leerlauf cpu-Zeit übrig ist, scheint es klar, dass etwas sehr schlimmes passiert ist. Was auch immer-Skripte ausgeführt werden, sind die Aktualisierung meiner MySQL-Datenbank, aber es scheint zu sein, exponentiell langsamer dann, wenn Sie begonnen haben.
Ich brauche einige Ideen, dienen als Start-Punkte für mich, um zu diagnostizieren, was Los ist.
Einige Dinge, die ich wissen möchte sind:
- Wie ich bestätigen kann, wie viele Skripte werden ausgeführt
- Ist es sowieso zu bestätigen, dass diese Skripte sind tatsächlich heruntergefahren, wenn Sie durch sind, und nicht nur "rumhängen" bei Einnahme von CPU-Zeit und Speicher?
- Welche Art von Engpässen sollte ich prüfen, um sicherzustellen, dass ich nicht zu viele Instanzen von diesem script, so das nicht noch einmal passiert.
Ich weiß, das ist wohl eine große Frage, aber ich bin mehr als bereit, Folgen Sie den links und Lesen Sie dieses... ich muss nur wissen, wo zu beginnen.
InformationsquelleAutor Troy Knapp | 2010-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hohe iowait kann bedeuten, Sie haben eine langsame/fehlerhafte Festplatte. Versuchen Sie es mit einem S. M. A. R. T. disk monitor.
http://www.linuxjournal.com/magazine/monitoring-hard-disks-smart
Ich verstehe, dass Sie den Aufruf eines Kommandozeilen-Skript anstatt einer Netzwerk-Anfrage. Warum sagen Sie, "die Netzwerk-Karte auf eine Antwort wartet"? Ich dachte, dass Sie nur beseitigt.
Ich habe mehrere Server in einem master/slave-Beziehung, die Sie haben, miteinander zu sprechen, außerdem, viele der Skripte-web-Agenten herunterladen und Verarbeitung von Informationen aus externen Seiten.
ps auww | grep jeden Fall geholfen, allerdings habe ich auch installiert, Kakteen, und das gab mir eine Reihe von Analyse-tools zu verwenden, wie gut.
InformationsquelleAutor Modern Hacker
Hohe iowait bedeutet, dass Ihre disk-Bandbreite gesättigt ist. Dies könnte sein, gerade weil Sie überschwemmungen Ihren MySQL-server mit zu vielen Anfragen, und es ist maxing die Festplatte versucht, die Daten zu laden, um Sie auszuführen.
Alternativ können Sie wenig physischen Speicher, wodurch große Mengen von Datenträger-E /a für austauschen.
Die Diagnose zu starten, führen Sie
vmstat 60
für 5 Minuten und überprüfen Sie die Ausgabe - diesi
undso
Spalten zeigen swap-in und swap-out, und diebi
undbo
Linien zeigen die anderen IO. (Bearbeiten Sie Ihre Frage und fügen Sie die Ausgabe in weitere Unterstützung).InformationsquelleAutor caf