15 de novembro
Geral
196 visualizações

Planejamento de Capacidade para Otimizar Sistemas

É comum passar por problemas que exigem a noção da relação previsão de demanda x capacidade no contexto de sistemas de informação, na relação cliente-servidor. Como saber se a capacidade atende à demanda? Como saber em que momento essa capacidade será insuficiente? Perguntas como essas são respondidas constantemente sem uma análise das variáveis e restrições que permeiam o problema: costuma-se estimar demanda e capacidade com base em histórico e intuição. Entretanto, é possível obter indicadores mais precisos utilizando modelos matemáticos, como Teoria das Filas, para projetar sistemas computacionais mais robustos, prolongar a sua vida útil e aproveitar melhor os seus recursos.

Discorramos a seguir:

Classificando a carga

As cargas possuem diferentes apresentações: Tipo, Tamanho e Frequência. Essas diferentes formas para se classificar carga mudam de negócio para negócio, de problema para problema. Identificar qual das três mais atenção para deter a saturação do servidor é a “maldade-chave” necessária.

Problemas comuns

  • Não existe um histórico de carga;
  • Não é considerada uma solução matemática;
  • O fornecedor de servidores não é claro quanto à função demanda e necessidade;
  • O problema é identificado tarde demais;

Números importantes

Número de solicitações de entrada

A: requisições, pessoas, entradas… Quantidade total de solicitações de processamento do início ao fim da apuração.

Número de solicitações atendidas

C: milésimos, horas, dias… Quantidade total de solicitações de processamento atendidas no fim da apuração.

Quando não se sabe a constante C, ela assume o valor de A (C = A), visto que todas as entradas são atendidas no tempo de observação.

Tempos importantes

Informação Variável Medida
Tempo de observação T milésimos, horas, dias… O tempo total de início a fim da apuração.
Tempo de ocupação B milésimos, horas, dias… O tempo de cada atendimento.
Tempo de espera W milésimos, horas, dias… O tempo de espera de cada carga.
Tempo de serviço S milésimos, horas, dias… A soma dos tempos de atividade do servidor.
Tempo de resposta R milésimos, horas, dias… A soma do tempo de espera + tempo de atendimento de cada carga.
Taxa de entrada Lambda λ frequência de entrada solicitações/tempo (A/T)
Taxa de atendimento Mi μ frequência de entrada solicitações/tempo (C/B)
Taxa de saturação Lambda λ superação da demanda sobre a capacidade (1/S)

Soluções comuns

Filas de solicitações são comuns no ambiente computacional. As soluções baseadas em modelos matemáticos objetivam a obtenção de previsões mais exatas, correspondentes com a realidade. É comum utilizar históricos de carga como fonte de informação para previsão de cargas futuras.

Numa sub-rede IP, os pacotes que chegam a um determinado nó da rede são processados por um único processador. Os pacotes chegam a este nó de acordo com o processo de Poisson, com uma taxa média produzida em função de 85 pacotes que chegaram durante um período de 30 minutos. Além disso, o tempo de processamento pode ser caracterizado por uma variável aleatória exponencial de média igual a um determinado valor em segundos (considere um tempo de ocupação de 25 minutos). Sabe-se
que quando o processador está ocupado os pacotes que chegam ao nó aguardam até que possam ser processados, sem limite de armazenamento.

Este é um tipo de caso que requer entendimento sobre as variáveis, taxas e intervalos para construção da curva de desempenho e finalmente previsão de saturação.

Soluções corporativas

Em uma rede de terminais de atendimento Drive-thru de uma lanchonete, uma solicitação de um cliente submetida a cozinha deve ficar na fila para comunicar seu pedido. Seu pedido será processado somente quando conseguir ser atendido. Se existem 100 terminais ativos com tempo de pensar de 20 segundos
e o tempo médio de resposta da cozinha (soma da fila no atendimento e tempo no processamento) é
de 10 segundos, quantos clientes estão competindo por atendimento?

Note a presença do conceito de terminais, que torna o processamento paralelo. Este é um caso de solução para negócios que contribui para um bom planejamento de capacidade e pode ser perfeitamente esclarecido por meio dos modelos matemáticos.

Acordos LNS/SLA – combinado não sai caro. será?

Os acordos são tempos de resposta aceitáveis pré-definidos via gráficos. Em situações reais, são analisados os tempos de resposta: inicial, atual, desejado e o saturado.

Saturação – atenção: pode ser tarde demais para se decidir

A saturação ocorre quando a utilização do sistema passa de 100%. É justamente o objetivo do planejamento de capacidade: prever a semana, mês, ano… em que o sistema atingirá o ponto de saturação (maior que 100% de utilização).


Descobrimos então que, ao adotar um modelo matemático para planejar a capacidade e prever o ponto de saturação de um sistema, podemos escalar um sistema com confiança e facilitar outros planejamentos, como a previsão de custos.

Gostou de conhecer mais sobre planejamento de capacidade? Talvez eu possa ser ainda mais útil. Abrir Chat

Referência


Um pouco sobre o autor

Matteus Barbosa - Desenvolvedor Web
Interessado por negócios e tecnologia, sou formado em sistemas de informação pela PUC e atuo como consultor de aplicações web, resolvendo problemas de negócios relacionados a conciliação bancária e plataformas de ensino a maior parte do tempo. Me interessa documentação de qualidade, casos de sucesso e networking. Agreguei valor para os negócios onde contribuí. Entre os próximos objetivos, busco experiências de desenvolvimento internacional.