¿Por qué Couchbase usa tanta CPU? [cerrado]

11

Recientemente instalé Couchbase en mi servidor, pero usa mucha CPU y hace mucho IO de disco. Como puede ver en las imágenes a continuación, es muy claro cuando instalé Couchbase, ¡ya que el uso de la CPU se ha disparado!

Uso de la CPU durante 30 días. Uso de la CPU durante 30 días.

Uso de CPU en las últimas 24 horas Uso de CPU en las últimas 24 horas

Uso del disco durante 30 días. Uso del disco durante 30 días.

Uso del disco en las últimas 24 horas. Uso del disco en las últimas 24 horas.

Como puede ver en el uso de la CPU, apagué Couchbase entre las 14:00 y las 15:00 (y el uso de la CPU se redujo al 0%). Luego lo volví a encender y conecté una aplicación web Scala (en ese momento, el uso aumentó hasta el 110%). Esta aplicación no tenía usuarios y no hizo absolutamente nada. Se conectó al servidor Couchbase y luego esperó las solicitudes de los clientes). A las 17:00 lo apagué y la CPU volvió a caer al 15%. A las 21:00 volví a encender la aplicación y el uso de la CPU aumentó de nuevo al 110%.

¿Qué está haciendo Couchbase? La aplicación Scala que usa Couchbase no hace absolutamente nada (a continuación se muestra un gráfico de la cantidad de operaciones que Couchbase hace por segundo), pero Couchbase todavía realiza E / S de disco continuo y usa un 110% de CPU. ¡Incluso sin aplicaciones conectadas al servidor Couchbase, utiliza un 15% de CPU! ¿Cómo es esto aceptable para una base de datos?

Operaciones de Couchbase por segundo en las últimas 24 horas. Operaciones de Couchbase por segundo en las últimas 24 horas.

Mario
fuente
1
De usted los datos no están claros de lo que está sucediendo. Si puede darnos cbcollect_info, entonces hay una mayor posibilidad de que podamos ver algo.
alk
De acuerdo con @alk Si también estuvo apagado de 1700 a 2100, ¿por qué el uso del disco que usted culpa no disminuye durante ese período? Puede estar sacando conclusiones precipitadas. ¿Qué muestra top? ..err, acabo de notar la edad de esta pregunta. ¿Encontraste una solución? ¿Contestada?
Matthew Elvey

Respuestas:

0

Couchbase tiene algunos procesos que se ejecutan en segundo plano para verificar el estado del clúster, la indexación de documentos y el estado del disco (para realizar algunas tareas de limpieza, compactación, ...).

Es por eso que ve algo de actividad en su base de datos.

Tug Grall
fuente
2
Ocupar una cantidad significativa de ciclos de CPU junto con 300 IOPS solo para "trabajo en segundo plano" parece un poco excesivo. ¿Puedes explicar un poco cómo se puede identificar y controlar la actividad (y posiblemente limitarla)? ¿Y por qué la conexión inactiva de un cliente ocupa un núcleo de CPU completo?
the-wabbit
1
¿Es esto realmente un problema? Estuvo de acuerdo en que el uso parece alto, pero tenga en cuenta que Linux usará tantos recursos de CPU como sea necesario. El hecho de que esté usando ~ 100% probablemente solo significa que no tiene nada mejor (lea más importante) para hacer.
GeoSword