Dlaczego Couchbase wykorzystuje tak dużo procesora? [Zamknięte]

11

Niedawno zainstalowałem Couchbase na moim serwerze, ale zużywa dużo procesora i dużo IO dysku. Jak widać na poniższych obrazkach, po zainstalowaniu Couchbase jest bardzo wyraźne, ponieważ użycie procesora gwałtownie wzrosło!

Zużycie procesora przez 30 dni Zużycie procesora przez 30 dni

Zużycie procesora w ciągu ostatnich 24 godzin Zużycie procesora w ciągu ostatnich 24 godzin

Użycie dysku przez 30 dni Użycie dysku przez 30 dni

Zużycie dysku w ciągu ostatnich 24 godzin Zużycie dysku w ciągu ostatnich 24 godzin

Jak widać z użycia procesora, zmieniłem Couchbase między 14:00 a 15:00 (a użycie procesora spadło do 0%). Następnie włączyłem go ponownie i podłączyłem do niego aplikację internetową Scala (w tym momencie użycie wzrosło do 110%). Ta aplikacja miała zero użytkowników i absolutnie nic nie zrobiła. Połączył się z serwerem Couchbase, a następnie czekał na żądania klientów). O 17:00 wyłączyłem go, a procesor ponownie spadł do 15%. O 21:00 ponownie włączyłem aplikację, a użycie procesora ponownie wzrosło do 110%.

Co robi Couchbase? Aplikacja Scala, która korzysta z Couchbase, nie robi absolutnie nic (poniżej znajduje się wykres liczby operacji wykonywanych przez Couchbase na sekundę), ale Couchbase nadal wykonuje ciągłe operacje IO dysku i wykorzystuje 110% procesora. Nawet bez aplikacji podłączonych do serwera Couchbase wykorzystuje 15% procesora! Jak to jest dopuszczalne w przypadku bazy danych?

Operacje na kanapie w ciągu sekundy w ciągu ostatnich 24 godzin Operacje na kanapie w ciągu sekundy w ciągu ostatnich 24 godzin

Marius
źródło
1
Od ciebie dane nie są jasne, co się dzieje. Jeśli możesz podać nam cbcollect_info, istnieje większa szansa, że ​​będziemy w stanie coś zobaczyć.
alk
Zgadzam się z @alk Jeśli było wyłączone również od 1700 do 2100, dlaczego użycie dysku, którego obwiniacie, nie spowalnia w tym okresie? Być może przeskakujesz do wniosków. Co pokazuje top? ..err, właśnie zauważyłem wiek tego pytania. Znalazłeś rozwiązanie? Odpowiedziałeś?
Matthew Elvey,

Odpowiedzi:

0

W Couchbase w tle działają niektóre procesy sprawdzające stan klastra, indeksujące dokumenty i określające stan dysku (w celu czyszczenia, zagęszczenia itp.).

Dlatego widzisz jakąś aktywność w swojej bazie danych.

Tug Grall
źródło
2
Zajmowanie znacznej liczby cykli procesora wraz z 300 IOPS tylko do „pracy w tle” wydaje się trochę nadmierne. Czy możesz trochę wyjaśnić, w jaki sposób można zidentyfikować i kontrolować aktywność (i ewentualnie ograniczyć)? I dlaczego bezczynne połączenie klienta zajmuje cały rdzeń procesora?
the-wabbit
1
Czy to rzeczywiście taki problem? Uzgodnione użycie wydaje się wysokie, ale należy pamiętać, że Linux zużyje tyle zasobów procesora, ile potrzebuje. Fakt, że użycie ~ 100% prawdopodobnie oznacza po prostu, że nie ma nic lepszego (czytaj ważniejsze) do zrobienia.
GeoSword,