Esta é uma tradução automática; o artigo original está em inglês. Ler o original

Por que razão um sistema a 99% de utilização não é ligeiramente pior do que um a 75%

A young woman cooks alone behind the counter of a small lantern-lit noodle bar while a long queue of people with umbrellas waits along a rain-soaked street outside, bicycles at the kerb and a cat asleep on a stool.

Aumentar a utilização de 75% para 99% representa mais um terço de carga. É trinta e três vezes a fila.

00.250.50.75105101520ρ=0.5 → 1ρ=0.75 → 3ρ=0.9 → 9ρ=0.95 → 19L = ρ / (1 − ρ)ρ=0.99 → 99OFF THIS CHART
A fila não é longa porque a carga é elevada. É longa porque a folga é reduzida.

Abra o M/M/1 Queue Simulator nos seus valores predefinidos. O trabalho chega três vezes por hora, o servidor processa quatro por hora e a indicação mostra uma utilização de 0,750 com 3,000 itens no sistema e 2,250 deles em espera.

Vinte e cinco por cento de capacidade de reserva e uma fila de três. Isso já parece pior do que deveria.

Estes quatro números demonstram também o único resultado da teoria das filas que vale a pena memorizar. As chegadas são 3 por hora, o tempo médio de espera no sistema é de 1,000 horas e o número médio no sistema é de 3,000. Trata-se da Lei de Little, L = λW, e a sua característica notável é que não faz qualquer pressuposto sobre as distribuições. Mude o padrão de chegada, mude os tempos de serviço, adicione servidores, e continua a ser válida para qualquer fila que seja estável. Quase tudo o resto a seguir depende dos pressupostos de modelação; isto não.

Uma fórmula e onde reside o problema

Para esta fila, o número médio no sistema é L = ρ / (1 − ρ), em que ρ, que se lê "ró", é a utilização. O valor predefinido da ferramenta introduz 0,75 nessa fórmula e obtém exatamente 3,000 no ecrã.

O numerador é a carga. O denominador é a folga, e é o denominador que decide tudo. À medida que ρ se aproxima de 1, a folga aproxima-se de zero, e dividir por um número que se aproxima de zero faz o que sempre faz.

  • ρ = 0,50 → L = 1
  • ρ = 0,75 → L = 3
  • ρ = 0,90 → L = 9
  • ρ = 0,95 → L = 19
  • ρ = 0,99 → L = 99

Leia essa coluna como um gestor o faria. Passar de metade da carga para 99% de carga não é o dobro do trabalho, é 1,98 vezes o trabalho, e é noventa e nove vezes a fila. Os últimos quatro pontos percentuais, de 95 a 99, custam mais fila do que todo o percurso de 0 a 95.

Por que razão a falha não tem uma fase de aviso

Esta forma explica um padrão que qualquer pessoa que tenha gerido um serviço reconhecerá. A utilização aumenta gradualmente ao longo dos meses e nada acontece. Os tempos de resposta são bons a 60%, bons a 70%, ligeiramente piores a 85%. Depois, numa determinada semana, o sistema fica inutilizável, e a carga nessa semana é quase idêntica à carga da semana anterior.

Não houve nenhum precipício na carga. O precipício está na fórmula, e uma fila é um fraco sistema de aviso prévio do seu próprio colapso porque o dano se concentra nos últimos pontos percentuais.

Também explica por que razão a solução é tantas vezes "adicionar mais um servidor" em vez de "tornar o servidor mais rápido". Adicionar capacidade desloca ρ para baixo na curva, e o efeito de alavancagem de passar de 0,95 para 0,90 é enorme precisamente porque é aí que a curva é inclinada.

A predefinição sem resposta

A ferramenta inclui três predefinições, e a terceira é a mais interessante. Carga ligeira funciona com ρ = 0,4. Carga elevada funciona com 3,8 contra 4,0, logo ρ = 0,95 e L = 19, correspondendo à tabela acima.

A terceira está rotulada como instável e define as chegadas em 4,2 contra uma taxa de serviço de 4,0. Isso é ρ = 1,05, e não existe uma resposta em estado estacionário para calcular. O trabalho chega mais depressa do que consegue sair, a fila cresce sem limite e a fórmula devolve um número negativo, o que é a matemática a dizer-lhe que a questão foi mal formulada.

Um sistema com ρ > 1 não estabiliza num mau estado. Não tem estado. A cada hora o acumulado de trabalho é maior do que na hora anterior, e nada além de reduzir as chegadas ou adicionar capacidade mudará isso. Observe a simulação a correr e a fila simplesmente ultrapassa o topo do gráfico.

Dois pressupostos que vale a pena mencionar

M/M/1 supõe que as chegadas são de Poisson e os tempos de serviço são exponenciais, o que significa que ambos não têm memória: a probabilidade de uma chegada no segundo seguinte não depende do tempo que esperou. O tráfego real é frequentemente mais irregular do que isso, e essa irregularidade torna a fila mais longa, não mais curta.

Portanto, os números acima são otimistas. A verdadeira lição subsiste aos pressupostos de qualquer forma, porque provém do 1 − ρ no denominador e não dos pormenores das distribuições. Qualquer sistema com chegadas variáveis e capacidade finita tem o mesmo muro no mesmo lugar.

Procurar uma utilização de 100% não é eficiência. É o pedido para que a fila seja infinita.