A função de gerenciador do Load Balancer calcula o peso para cada
servidor. Esses pesos são usados para determinar quantas conexões um servidor deve receber
conforme comparado com outros servidores na mesma configuração de cluster e de
porta. Entender o relatório do gerenciador é fundamental para entender
como o tráfego de rede é distribuído.
O relatório do gerenciador contém uma lista de cada cluster, porta e servidor que é
definido para essa combinação cluster:porta. Cada servidor mostra dois pesos, atual e
novo, e quatro colunas que são usadas para calcular o peso:
- Conexões ativas (ACTV)
- Novas conexões (NEWC)
- Carregamento de Porta (PORT)
- Carregamento do Sistema (SYS)
A cada uma das quatro colunas é designada uma porcentagem que é usada para calcular o peso do servidor. As porcentagens são configuradas com o comando de proporção de
conjunto de cluster. Por padrão, apenas as conexões ativas e novas conexões são consideradas quando
calcular o peso do servidor. Quando o orientador é iniciado, a proporção para o carregamento
de porta é configurada para 1% para que o carregamento da porta seja usado no
cálculo do peso. Da mesma forma, quando uma métrica é incluída, a proporção para o
carregamento do sistema é configurada para 1%. A função do gerenciador retorna os seguintes valores para
cada servidor:
- Conexões ativas (ACTV)
- As conexões ativas são conexões TCP que são encerradas no início do ciclo do gerenciador.
- Novas conexões (NEWC)
- Novas conexões representam o aumento total de conexões a partir do início do ciclo
do gerenciador até o início do último ciclo do gerenciador.
- Carregamento de Porta (PORT)
- O carregamento de porta é o valor que é obtido a partir do orientador que é definido
na combinação cluster:porta. Se um orientador não for iniciado, o carregamento de
porta será sempre zero. Quando um orientador é definido, o carregamento de porta normalmente representa o número de
milissegundos para o orientador receber uma resposta do servidor.
Quando o carregamento de porta é mostrado como -1, o orientador não recebeu uma resposta
com êxito para sua consulta. Aumente o nível de log e o tamanho de log para o
orientador investigar o por quê o servidor não respondeu. Se o servidor não responder ao
pedido de conexão, conclua as seguintes etapas:
- Certifique-se de que você possa efetuar ping do servidor a partir da máquina do Load Balancer.
- Verifique se o aplicativo do servidor foi iniciado e está atendendo na porta
que foi definida. O servidor deve estar atendendo no endereço curinga (0.0.0.0),
ou ambos endereço IP de cluster e endereço IP do servidor real para responder com êxito
aos pedidos do orientador.
Se o servidor responder à conexão, ele pode estar respondendo à consulta
de maneira que seja diferente do qual o Load Balancer espera ver. Verifique a cadeia advisorresponse que é definida para assegurar que ele corresponda
ao que o servidor transmitiu. Esse cenário aplica-se a ambos orientadores http e https.
- Carregamento do Sistema (SYS)
- O carregamento de sistema representa o valor que é retornado a partir do
servidor de métrica. Se as métricas não forem incluídas para essa combinação de cluster:port,
o carregamento de sistema será zero (0). Quando as métricas forem definidas, o carregamento de sistema
é um valor entre -1 e 100, que representa o status do servidor.
100 é muito ocupado e zero (0) está inativo.
Se o carregamento de sistema mostrar -1, o Load
Balancer não pode se comunicar com o servidor de métrica na máquina backend.
Certifique-se de que as chaves do Load Balancer sejam distribuídas corretamente para o servidor, de que o
servidor possa efetuar ping a partir do Load Balancer e de que o servidor de métrica seja iniciado
na máquina. Se o problema persistir, conclua as seguintes etapas:
- Edite o script para o servidor de métrica na máquina backend e aumente o
nível de log e o tamanho de log.
- Reinicie o servidor de métrica.
- Aumente o tamanho de log e o nível de log para o monitor de métrica no
Load Balancer.
- Examine os arquivos de log na máquina do Load Balancer e na máquina de backend para
determinar o por quê a comunicação está falhando.
Os números de conexões ativas e de novas conexões são determinados com base
no número de conexões que o executor encaminhou no último ciclo
da última função do gerenciador. O ciclo do gerenciador é de dois segundos,
por padrão.
Configurando pesos do servidor
Sob circunstâncias normais, o Load Balancer usa todos os valores que possuem proporções que
não são zero para calcular o novo peso. Por exemplo, se as proporções forem
40 40 20 0, as conexões ativas e as novas conexões
são 40% do cálculo de cada peso e o carregamento da porta é 20%.
Como exemplo, suponha que a função do gerenciador retorne os seguintes valores:
ACTV NEWC PORT SYS
Server1 50 200 25 0
Server2 25 100 50 0
Os cálculos do peso iniciais
serão:
- Server1 = .40(50) + .40(200) + .2(25) = 20 + 80 + 5 = 105
- Server2 = .40(25) + .40(100) + .2(50) = 10 + 40 + 10 = 60
Os pesos iniciais são escalados para serem proporcionais ao limite de peso para a combinação cluster:porta. Por padrão, o limite de peso é 10. Dessa forma, no exemplo anterior, os pesos finais, que são arredondados para o número inteiro mais próximo,
são:
- Server1 = (105/165) * 10 = 6
- Server2 = ( 60/165) * 10 = 4
O peso calculado é mostrado como o peso NEW no relatório do gerenciador.
O peso é apenas encaminhado para a função do executor se ele exceder o nível de sensibilidade
que é configurado para a combinação cluster:port. O peso NOW representa o peso
que é obtido a partir do executor no início desse ciclo do gerenciador.
Se o carregamento de porta ou o carregamento do sistema for -1 e a proporção respectiva para a porta ou coluna do sistema for maior que 0, o peso calculado será
zero (0). Zero (0) indica que o servidor não está ativo e que novos pedidos não são
enviados para o servidor.
Se você colocar um servidor no modo quiesce, verá que o peso também é mostrado como
zero (0), mas o carregamento de porta será positivo se o servidor ainda estiver on-line. Se um servidor
em quiesce ficar off-line, o carregamento da porta será -1.
Se um usuário emitir uma função "servidor inativo" em um servidor para evitar que o Load Balancer
envie pedidos para esse servidor, o peso será -1 independente do valor do carregamento de
porta e do carregamento do sistema.