Erhöhte CPU-Auslastung seit Upgrade auf 3.4.0.beta4-dev (58f75ed205)

Seit dem Upgrade an diesem Wochenende habe ich eine deutliche Zunahme der CPU-Auslastung festgestellt. Die CPU-Auslastung von RUBY scheint der Hauptgrund zu sein. Dies wurde von einem anderen Discourse-Benutzer in diesem Thema erwähnt.

Wie Sie den untenstehenden Grafiken entnehmen können, waren die CPU-Auslastung und die Last vor dem Upgrade viel niedriger als nach dem Upgrade. Das Upgrade fand am Abend des 31.01. statt.

Hier sind zwei Bilder von TOP, die im Abstand von 33 Stunden aufgenommen wurden:

In 33 Stunden gibt es eine erhebliche Ruby-CPU-Auslastung. Basierend auf den Top-Daten habe ich in den letzten 33 Stunden eine 2-fache CPU-Auslastung über 22 Tage festgestellt. In 33 Stunden habe ich 11 Stunden CPU-Zeit gesehen. (648 Minuten CPU-Zeit über 5 PIDs)

Zusätzliche Daten:

  • Der Traffic ist in den letzten zwei Tagen um etwa 10% zurückgegangen. (Analysen und Dashboard)
  • Standard-Single-Container-Discourse-Installation (kein Chat)
  • Sidekiq-Warteschlangen sind minimal (1K bis 2K pro Tag)
  • In den Discourse-Protokollen scheint nichts Ungewöhnliches zu sein
  • Ich betreibe einen DO-Server mit 8 GB RAM und 2 AMD vCPUs.

Dies ist kein Fall, in dem der Server kritisch ausfällt, aber Server, die mit 5% bis 7% laufen, sind viel besser als solche, die mit 25% laufen.

Welche Informationen kann ich zur Unterstützung der Fehlerbehebung bei diesem Problem bereitstellen?

tia

3 „Gefällt mir“

Lassen Sie uns dies vorerst im Support belassen, bis wir feststellen, ob es sich um einen Fehler handelt.

Können Sie den Container betreten und von innen einen htop ausführen (Sie müssen ihn installieren), damit Sie erkennen können, welcher spezifische Prozess eine hohe CPU-Auslastung verursacht?

Sie können etwas mehr Einblick erhalten, indem Sie eine Technik wie diese verwenden: Debugging 100% CPU usage in production Ruby on Rails systems

Höchstwahrscheinlich ist jedoch Sidekiq /sidekiq auf Ihrer Instanz irgendwie überlastet. (Ich würde besonders den Scheduler prüfen)

htop Ansichten.

Hier ist ein 30 Sekunden langes Video:

Zufällige Screenshots:

Baumansicht:

sidekiq:


Lassen Sie mich wissen, ob es etwas Bestimmtes gibt, das Sie sehen müssen. Ich

2 „Gefällt mir“

Ja, etwas stimmt nicht:

top -H -p PID_DES_EINHORN

Ich vermute, Sie werden dort V8 DefaultWorker sehen. Ich glaube, das ist eine Regression in mini_racer… Ich werde es zurücksetzen, um zu sehen, ob das dieses Problem löst.

1 „Gefällt mir“

OK, das ist jetzt zurückgesetzt,

Lassen Sie mich wissen, ob der Commit die Leistung wiederherstellt.

6 „Gefällt mir“

Ja, es hat das Problem mit der hohen CPU-Auslastung behoben. Meine 1-Minuten- und 5-Minuten-Last beträgt etwa 1/3 der vorherigen Werte. Das ist mit htop und netdata, die jetzt auf dem System laufen.

HTOP-Video

Lastauslastungsdiagramm

Ich würde erwarten, dass die CPU-Auslastung und die Last langsam abnehmen, da mehr Datenbankabfragen im System zwischengespeichert werden.

Lasttabelle:

Zeit Vor der Korrektur Nach der Korrektur
1 Minute 0,4 bis 0,6 0,06 bis 0,1
5 Minuten 0,39 bis 0,5 0,15 bis 0,18

Die 15-Minuten-Metrik wird durch einen Wiederaufbau beeinträchtigt. Ich werde heute Morgen weitere Statistiken posten.

Vielen Dank für die nächtliche Korrektur.

3 „Gefällt mir“

Entschuldigung, das Mini_Racer-Upgrade war ein großes Abenteuer. Hoffentlich sind wir bald durch.

3 „Gefällt mir“

Vielen Dank für die schnelle Reaktion zur Untersuchung.
Ich bin sicher, Sie hatten andere Pläne für den Tag als ein Rollback.
Als neuer Discourse-Benutzer, 2 Wochen seit der Migration, war das Produkt großartig zu bearbeiten.

2 „Gefällt mir“

Ähnliche Geschichte auch hier.

[Bearbeiten: Scheint jetzt behoben zu sein, nachdem auf den neuesten Branch aktualisiert wurde]

Hier ist eine Leistungsbewertung 18 Stunden nach dem Neuaufbau. Die Lasttabelle sagt alles.

Lasttabelle:

Zeit Vor der Korrektur Nach der Korrektur
1 min 0,4 bis 0,6 0,03 bis 0,05
5 min 0,39 bis 0,5 0,09
15 min 0,68 0,12

Legende:

  • Roter Pfeil - App neu aufgebaut
  • Lila Pfeil - Netdata ausgeschaltet

Hinweis, um den Kreis zu schließen, der verursachende Fehler war dieser:

Ich habe das Gem aktualisiert. Ein unmittelbarer Vorteil ist, dass diese Version von v8 anscheinend etwas weniger Speicher verbraucht, was gut ist.

6 „Gefällt mir“

Ich habe gestern Abend die neueste Version mit dem Fix installiert. Die CPU-Auslastung ist wieder auf dem historischen Niveau.

Vielen Dank für die großartige Arbeit.

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.