Por que o Couchbase usa tanta CPU? [fechadas]

11

Instalei muito recentemente o Couchbase no meu servidor, mas ele usa muita CPU e faz muitas E / S de disco. Como você pode ver nas imagens abaixo, é muito claro quando eu instalei o Couchbase, pois o uso da CPU disparou!

Uso da CPU por 30 dias Uso da CPU por 30 dias

Uso da CPU nas últimas 24 horas Uso da CPU nas últimas 24 horas

Uso do disco por mais de 30 dias Uso do disco por mais de 30 dias

Uso de disco nas últimas 24 horas Uso de disco nas últimas 24 horas

Como você pode ver no uso da CPU, mudei do Couchbase entre 14:00 e 15:00 (e o uso da CPU caiu para 0%). Em seguida, liguei-o novamente e conectei um aplicativo da Web Scala a ele (nesse ponto, o uso aumentou em 110%). Este aplicativo tinha zero usuários e não fez absolutamente nada. Ele se conectou ao servidor Couchbase e aguardou solicitações dos clientes). Às 17:00, desliguei e a CPU caiu para 15% novamente. Às 21:00, liguei o aplicativo novamente e o uso da CPU aumentou em 110% novamente.

O que o Couchbase está fazendo? O aplicativo Scala que usa o Couchbase não faz absolutamente nada (abaixo é um gráfico do número de operações que o Couchbase realiza por segundos), mas o Couchbase ainda faz E / S de disco contínua e usa 110% da CPU. Mesmo sem aplicativos conectados ao servidor Couchbase, ele usa 15% da CPU! Como isso é aceitável para um banco de dados?

Operações do Couchbase por segundo nas últimas 24 horas Operações do Couchbase por segundo nas últimas 24 horas

Marius
fonte
1
Seus dados não são claros sobre o que está acontecendo. Se você puder nos fornecer cbcollect_info, há mais chances de vermos algo.
alk
Concorde com o @alk Se também foi desativado entre 1700 e 2100, por que o uso do disco que você atribui a ele não diminui durante esse período? Você pode tirar conclusões precipitadas. O que mostra top? ..err, apenas notei a idade desta pergunta. Você encontrou uma solução? Respondidas?
Matthew Elvey

Respostas:

0

O Couchbase possui alguns processos em execução em segundo plano para verificar o estado do cluster, indexar documentos e indicar o disco (para fazer alguma limpeza, compactação, etc.).

É por isso que você vê alguma atividade no seu banco de dados.

Tug Grall
fonte
2
Ocupar uma quantidade significativa de ciclos de CPU junto com 300 IOPS apenas para "trabalho em segundo plano" parece meio excessivo. Você pode elaborar um pouco sobre como a atividade pode ser identificada e controlada (e possivelmente limitada)? E por que a conexão ociosa de um cliente ocupa um núcleo inteiro da CPU?
the-wabbit
1
Isso é realmente um problema? Concordou que o uso parece alto, mas lembre-se de que o Linux usará o recurso de CPU necessário. O fato de ele estar usando ~ 100% provavelmente significa apenas que não tem nada melhor (leia mais importante) a fazer.
GeoSword