Desempenho e Carga no Linux
O desempenho de uma aplicação depende de vários fatores, processador, memória, discos e rede. Saber como andam estes fatores em seu servidor é uma informação importante para a tomada de decisão para, por exemplo, a compra de uma nova controladora de discos, memória, a troca de processador, ou mesmo um servidor novo.
Todas estas informações estão disponíveis em nosso sistema e podemos acessa-la a qualquer momento.
O uptime informa o tempo em que o servidor está no ar, mas também, informa a métrica da carga média (loadaverage).
# uptime
09:33:38 up 10:02, 330 users, load average: 0.94, 0.83, 0.87
Este comando nos mostra três valores de load average, em 1 minuto, 5 minutos e 15 minutos. Existe uma função no kernel chamada calc_load que faz o cálculo do load average. Cada métrica de loa average é baseada no número de processos que estão executáveis e estão na fila de execução do escalonador ou atualmente em execução em um processador.
Então, o que é um bom valor de load average? Bom como a carga do sistema depende do tamanho da fila, na verdade a pergunta seria “Qual um bom tamanho de fila?”. Mas existe um outro fator, que é o tempo que um processo fica na fila até encontrar o processador, daí surge “Quanto tempo na fila torna o tempo de resposta ruim?”.
O tamanho da fila, o tempo de fila e o load average são variáveis que você vai utilizar para determinar o nível de serviço em um servidor. Nem sempre um load average alto é razão para trocar o servidor, pois se o tempo de resposta deste estiver dentro do nível de serviço que for determinado para ele.
Para finalizar, a carga média fornece informações sobre a tendência de crescimento da fila de execução, capturando estas tendências conforme ela se mostrava há um, 5 e 15 minutos.
