Warum verbraucht Couchbase so viel CPU? [geschlossen]


11

Ich habe Couchbase vor kurzem auf meinem Server installiert, aber es verbraucht viel CPU und macht viel Festplatten-E / A. Wie Sie auf den folgenden Bildern sehen können, ist es sehr klar, wann ich Couchbase installiert habe, da die CPU-Auslastung in die Höhe geschossen ist!

CPU-Auslastung über 30 Tage CPU-Auslastung über 30 Tage

CPU-Auslastung in den letzten 24 Stunden CPU-Auslastung in den letzten 24 Stunden

Festplattennutzung über 30 Tage Festplattennutzung über 30 Tage

Festplattennutzung in den letzten 24 Stunden Festplattennutzung in den letzten 24 Stunden

Wie Sie der CPU-Auslastung entnehmen können, habe ich Couchbase zwischen 14:00 und 15:00 Uhr deaktiviert (und die CPU-Auslastung ist auf 0% gesunken). Dann schaltete ich es wieder ein und verband eine Scala-Webanwendung damit (zu diesem Zeitpunkt stieg die Nutzung auf 110%). Diese Anwendung hatte keine Benutzer und tat absolut nichts. Es stellte eine Verbindung zum Couchbase-Server her und wartete dann auf Anfragen von Clients. Um 17:00 Uhr schaltete ich es aus und die CPU fiel wieder auf 15%. Um 21:00 Uhr schaltete ich die Anwendung wieder ein und die CPU-Auslastung stieg wieder auf 110%.

Was macht Couchbase? Die Scala-Anwendung, die Couchbase verwendet, führt absolut nichts aus (unten ist ein Diagramm der Anzahl der Vorgänge aufgeführt, die Couchbase pro Sekunde ausführt), aber Couchbase führt weiterhin kontinuierliche Festplatten-E / A aus und verwendet 110% CPU. Selbst wenn keine Anwendungen mit dem Couchbase-Server verbunden sind, werden 15% der CPU verbraucht! Wie ist das für eine Datenbank akzeptabel?

Couchbase-Operationen pro Sekunde in den letzten 24 Stunden Couchbase-Operationen pro Sekunde in den letzten 24 Stunden


1
Von Ihnen sind Daten unklar, was los ist. Wenn Sie uns cbcollect_info geben können, besteht eine größere Chance, dass wir etwas sehen können.
Alk

Stimmen Sie mit @alk überein Wenn es auch von 1700 bis 2100 ausgeschaltet war, warum verlangsamt sich die Festplattennutzung, die Sie ihm vorwerfen, in diesem Zeitraum nicht? Sie können zu Schlussfolgerungen springen. Was zeigt Top? ..err, habe gerade das Alter dieser Frage bemerkt. Haben Sie eine Lösung gefunden? Antwortete?
Matthew Elvey

Antworten:


0

Couchbase hat einige Prozesse, die im Hintergrund ausgeführt werden, um den Status des Clusters, die Dokumentindizierung und den Status der Festplatte zu überprüfen (um eine Bereinigung, Komprimierung usw. durchzuführen).

Aus diesem Grund werden in Ihrer Datenbank einige Aktivitäten angezeigt.


2
Eine erhebliche Anzahl von CPU-Zyklen zusammen mit 300 IOPS nur für "Hintergrundarbeit" zu belegen, scheint etwas übertrieben. Können Sie etwas näher erläutern, wie die Aktivität identifiziert und gesteuert (und möglicherweise eingeschränkt) werden kann? Und warum belegt die Leerlaufverbindung eines Clients einen gesamten CPU-Kern?
The-Wabbit

1
Ist das eigentlich so ein Problem? Einverstanden scheint die Nutzung hoch zu sein, aber denken Sie daran, dass Linux so viel CPU-Ressourcen verbraucht, wie es benötigt. Die Tatsache, dass es ~ 100% verwendet, bedeutet wahrscheinlich nur, dass es nichts Besseres (lesen Sie wichtiger) zu tun hat.
GeoSword
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.