Por onde devo começar a solucionar problemas de média de carga alta?

Por onde devo começar a solucionar problemas de média de carga alta?

Eu tenho um cluster Kubernetes rodando com 4 nós de trabalho (Ubuntu 20.04 com 4 CPU) e estou vendo uma média de carga alta em todos eles. Aqui está o resultado de top em um dos nós: principal

Não tenho certeza se isso é esperado ou não, pois este nó está executando 111 contêineres. Poderia haver algo mais causando a alta média de carga ou simplesmente porque tenho muitos contêineres e só preciso de mais recursos?

Responder1

A média de carga é uma contagem de programas em execução ou aguardando execução.

Top é bom, mas oferece apenas metade da imagem - coisas em execução ou esperando para serem executadas na CPU. A outra metade são coisas que aguardam a conclusão da E/S do disco.

Para E/S de disco, atopé bom clicar dpara mostrar o uso do disco por processo. (Normalmente, você precisará executá-lo como root para conseguir isso.)

Responder2

Uma regra prática típica é que você não deseja que sua média de carga seja maior que o número de núcleos em seu host. Essa é a situação ideal. Ir além disso nem sempre é um problema. Pela minha experiência, a média de carga por si só nem sempre é um indicador de um problema. Se você tiver alta carga, alto uso da CPU do sistema ou alto iowait, provavelmente você está em uma situação ruim.

Com o kubernetes, ouço muito é que você precisa definir limites de recursos. Se você não tiver limites, cada pod terá acesso total a um nó. O dimensionamento correto de aplicativos não é uma tarefa simples, IMO. Especialmente quando todo mundo parece tentar lançar aplicativos não nativos da nuvem no k8s.

Como sugestão, você pode reduzir suas cargas de trabalho, adicionar mais trabalhadores (aumentar a escala horizontal) ou adicionar mais recursos aos nós (aumentar a escala vertical), ou uma combinação.

informação relacionada