Gostaria de saber como determinar o status do meu servidor usando o comando top
ou se preciso alterar o servidor ou adicionar mais recursos. Em seguida é a saída do comando top
no meu servidor.
A seguir, alguns outros fatos
- Os valores médios de carga variam de 28.XX a 77.XX.
- As CPUs% id na maior parte do tempo estão entre 10.0 e 22.0 e algumas vezes caem para 30.0.
- O servidor está sendo executado em uma máquina virtual.
- O servidor em que a máquina virtual está montada possui um processador Intel (R) Xeon (R) E5-2403 0 @ 1.80GHz, com 4 núcleos
- Os aplicativos da Web, o serviço de banco de dados, o memcached, o servidor da Web e outros aplicativos de servidor relacionados estão em execução há uma semana.
- O serviço presence.py é o que faz a maior quantidade de trabalho e atualmente está verificando a presença de 703 nós.
Eu diria que não preciso adicionar mais memória RAM ao sistema, mas certamente parece que a CPU está sobrecarregada. Ainda temos que adicionar mais de 100-200 nós, então acho que o servidor não conseguirá lidar com isso. Estou certo?
EDIT: histórico de presença.py
O serviço Presence (presence.py) é um aplicativo proprietário que executa processos (duas vezes o número de núcleos), um processo principal e (duas vezes o número de núcleos-1) processos de trabalho. Para cada nó registrado, um encadeamento é criado em um dos processos de trabalho, portanto, se tivermos 700 nós, cada processo de trabalho terá ~ 100 encadeamentos em execução. Cada thread verifica o status de seu nó via telnet ou HTTP uma vez por segundo, então você pode imaginar a carga de cada processo. Isso significa que, na maior parte do tempo, cada thread está dormindo ou esperando pela rede i / o .
O serviço Presence começou com uma carga de 350 nós e estava funcionando muito bem, mas, por algum tempo, desde que começamos a aumentar a carga e ultrapassamos os 600 nós, ela começou a operar um pouco lenta. Por exemplo, se você executar o seguinte comando curl www.google.com
, leva muitos segundos para executá-lo.