Escolar Documentos
Profissional Documentos
Cultura Documentos
DE
DESEMPENHO
Rafael Sommerfeld
Consultor : 25 anos em Tecnologia da Informação
Formação em Gestão de Ambientes Internet
MBA de Marketing pela FGV
Experiência : Ambev, Animus, Dominal, Dedalus,
Metrored, Ibam, Skol, ...
Treinamentos : Bndes, Embratel, FGV, Unesa, etc.
Publicação de livros e artigos especializados
rafasommer@hotmail.com
APRESENTEM-SE
Nome
Área / Função
Expectativas com o curso
Hobby
PLANEJAMENTO DE CAPACIDADE
PARA SERVIÇOS NA WEB
Métricas, Modelos e Métodos
Daniel A.Menascé
Virgilio A.F. Almeida
Plano de Aula
- SLA
- Protocolos e modelos de interação para serviços na Web
- Quando o desempenho da Web é um problema
- Conceitos Básicos de Desempenho
- Aspectos do desempenho de serviços na Web
- Planejando a Capacidade dos Serviços na Web
- Modelo de Carga
- Modelo de Desempenho
- Modelo de Custo
- Benchmarks e testes de desempenho
- Disponibilidade dos serviços na Web
- Medição do Desempenho
- Conclusão
Camada de NFS
Sessão HTTP FTP SMTP TELNET DNS SNMP
RPC
Camada de IP
Rede
Resposta
TCP TCP
IP IP
Camada de Camada de
Link de dados Link de dados
Servidores e Processos
1
1 1
2
2 2
Categorias : Colaboração
Informativas
Comunidades on Line
Interativas
Portais
Transacional
Fluxo de Trabalho
mainframe
Criar uma aplicação mais fácil para o usuário
produtividade
Melhorar a satisfação do cliente.
Expectativas
Os projetistas do novo ambiente precisam
transações ?
Que tipo de servidores e sistemas de armazenamento
os tamanhos necessários ?
Cuidados com as “simpatias” pessoais...
Servidor Servidor
Central de
Reserva
Estações de Carros
de
trabalho
dos REDE
agentes
de reserva REMOTA
(WAN)
Servidor de BD
25%Servidor Servidor
Central de
Reserva
Estações de Carros
de
trabalho
dos
4% GARGALO
REDE
agentes
de reserva 10% é o componente
REMOTA
51% onde a transação
(WAN)
Servidor de BD gasta a maior parte
do seu tempo.
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
!
QUANDO O DESEMPENHO
DA WEB É UM PROBLEMA
GARGALO
5,00
Tempo de Resposta (s)
4,00
3,00
2,00
1,00
0,00
Carga atual Carga atual + 5% Carga atual + 10% Carga atual + 15%
Carga (tps)
Reserva na loja Assistência na estrada Entrega de carro Reserva por telefone
Fila de
Recurso
Espera
Fila de
Ao lado, um exemplo de Espera
fila para recursos múltiplos. N recursos
Tempo de Resposta
Tempo de
Latência Transmissão
Tempo de Serviço Tempo de Fila
Roteador 1 Roteador 2
Lan 2 :
FDDI
100 Mbps
Lan 2 :
Ethernet
10 Mbps
Servidor Web
Servidor
HTTP (sessão) Conteúdo :
Conteúdo :
- HTML
TCP (transp) / - Gráficos
IP (rede) • HTML
- Áudio
• Gráficos
Sistema - Vídeo
• Áudio
Operacional - Outros
• Vídeo
• Outros
HARDWARE
Conectando Conectar
Pedido Web
Processando Processar
Transmitindo Transmissão/Latência
Clique
Dados
Exibição
Internet
Zona
Desmilitarizada
(DMZ)
Internet
Balanceador Servidores
de Carga
Servidores Servidores de Banco de Dados
Web de Aplicação Ex. Mainframes
Restrições
de custo por exemplo, custo inicial < $ 5,5 milhões
custo manutenção < $ 1,6 milhão/ano
Desenvolvimento do modelo
de desempenho/disponibilidade
Modelo de
Calibragem do modelo
Previsão Desempenho e
de desempenho/disponibilidade disponibilidade
de
Custo Previsão de desempenho
& disponibilidade
Análise de custo/
Desempenho & Disponibilidade
Discos
Servidor Web
Corporativo CPU´s
Internet
Internet
Servidor de Servidor de e-mail
E-mail
Discos
CPU´s
Medições Cálculos
Aceitável ?
Calibragem
do modelo
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
PLANEJANDO A CAPACIDADE
DOS SERVIÇOS NA WEB
Modelo de Disponibilidade
Os modelos de disponibilidade oferecem um
meio de previsão da disponibilidade de um
serviço na Web, com base na configuração de
infra-estrutura utilizada e considerando a
confiabilidade intrínseca dos componentes
utilizados.
INTRODUÇÃO
A melhor maneira de estudar desempenho
é executar a carga de trabalho real e medir
os resultados.
Benchmarking é o principal método para
medir o desempenho de uma máquina
física real.
É a execução de um conjunto de
programas representativos em diferentes
computadores e redes, medindo seus
resultados.
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
BENCHMARKS E TESTES DE
DESEMPENHO
NATUREZA DOS BENCHMARKS
Tempo e Velocidade são as medidas básicas de
desempenho.
O que um determinado benchmark está realmente
testando ?
Até que ponto o benchmark é semelhante à carga de
trabalho do ambiente do usuário ?
O que o benchmark está realmente medindo ?
Benchmarks são boas ferramentas para
comparação de sistemas, ao invés de ferramentas
precisas para dimensionar ou planejar a
capacidade de determinado serviço.
HIERARQUIA DE BENCHMARKS
Dividem-se em 2 categorias :
Granularidade grande (ex. Medição de e-
commerce)
Benchmarks detalhados (ex. Velocidade de CPU)
Hierarquias :
Operações Básicas (+ - x / )
Benchmark de “brinquedo” (hanói, etc)
Kernels (operações de cpu, parte de código real)
Programas reais (pacotes de benchmark – SPEC
e TPC)
HIERARQUIA DE BENCHMARKS
Sistemas
Programas Benchmark de Operações
Kernels
“brinquedo” básicas
de
reais computador
Medições de
Desempenho
SPEC (www.spec.org)
SYSTEM PERFORMANCE EVALUATION
CORPORATION
Organização de fornecedores da indústria
de informática, que desenvolve testes de
desempenho padronizados (benchmarks)
e publica resultados das análises.
TPC (www.tpc.org)
TRANSACTION PROCESSING
PERFORMANCE COUNCIL
Corporação não-lucrativa, fundada para
definir benchmarks de processamento de
transações, banco de dados e comércio
eletrônico.
SPECWEB99
Projetado para medir capacidade de um sistema
de atuar como servidor Web
Mede o número máximo de conexões simultäneas
Carga de trabalho padrão inclui HTML estática e
dinâmica, e suporte para HTTP 1.1
Para Unix ou NT
Executa em vários clientes enviando requisições
http e armazenando respostas
Consolida respostas em cliente principal
Taxa de Processamento =
Clientes Simultaneos / (Tempo Resposta + Tempo de Reflexão)
Taxa de Processamento = 10.000 / (4 + 3) = 1.429 reqs./segundo
Conexões Simultâneas =
Requisições por Segundo x (Tempo de Resposta – Tempo de Rede)
1.429 x (4 – 1,2) = 1.429 x 2,8 = 4.001
WEBSTONE
Benchmark Cliente-Servidor configurável para
HTTP. Usa parâmetros de carga e processa
clientes, gerando tráfego HTTP.
Projetado para medir a taxa de processamento
máxima do servidor e o tempo de resposta médio
para conexão com o servidor.
Um processo mestre gera uma série de processos
cliente, que geram as requisições HTTP. Ao
término, o processo mestre consolida as
informações de resumo de desempenho.
SURGE
Um componente-chave de benchmark é a carga
de trabalho. 2 técnicas são utilizadas :
carga de trabalho real (amostragem)
modelos matemáticos para representar características
de carga
SURGE se baseia nas 2 técnicas
Um usuário é definido como um processo em loop
que alterna entre fazer requisição HTTP e
permanecer ocioso.
TPC-C
TPC-C
Percentual melhoria =
Taxa novo software / taxa software antigo
30.000 / 36.000 = 1,2 ou seja 20% de melhoria
Resultados do TPC-W
Informação do Sistema Resultado
Empresa X
Sistema Y
Escala 10.000
Processadores 4
SGBD Microsoft SQL
Sistema operacional Windows NT
Servidor HTTP Microsoft IIS
Balanceador de Carga MS Windows DNS Server
Motor de busca MS SQL Server FT Search
Custo total do sistema US$ 211.214
Desempenho do TPC-W 3.130
Preço/desempenho US$ 67,50
TPC-W
TPC-W
TESTE DE DESEMPENHO
Finalidade principal : entender o
desempenho do serviço sob condições de
determinada carga de trabalho
Podem ser usados em todos estágios de
desenvolvimento de serviços web, antes
de entrar em operação
Chave é simular o ambiente de produção e
cenários de carga de trabalho, o mais
próximo do mundo real.
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
BENCHMARKS E TESTES DE
DESEMPENHO
Executar os testes
Analisar os
resultados
do teste
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
BENCHMARKS E TESTES DE
DESEMPENHO
METODOLOGIA PARA O TESTE
Definir objetivos
do teste DE DESEMPENHO
Entender o Analisar os resultados do teste :
ambiente Examinar tendências versus objetivo do teste
Especificar Relacionar medições de desempenho
o plano de teste
Desenvolver recomendações à gerência
Definir a carga de
Avaliar tempos de respostas, buscando identificar
Trabalho do teste
problemas de desempenho específicos
Configurar o
ambiente de teste
Executar os testes
Analisar os
resultados
do teste
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
DISPONIBILIDADE
DOS SERVIÇOS
NA WEB
de computador falhar
É importante categorizar os diferentes
tipos de falhas
Analisaremos as falhas sob as seguintes
dimensões :
Duração
Efeito
Escopo
EFEITO DA FALHA
Falhas Funcionais : Sistema que não
opera de acordo suas especificações. Ex.
Livraria on-line, que não apresenta
descrição de um livro.
Falhas de desempenho : Ainda que o
sistema execute suas funções, não são
executadas a tempo. Ex. site de busca que
detalha demasiadamente uma pesquisa,
retornando alguns minutos depois.
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
DISPONIBILIDADE DOS SERVIÇOS
NA WEB
ESCOPO DA FALHA
Falha Parcial : Alguns serviços oferecidos
se tornam indisponíveis, enquanto outros
ainda podem ser usados.
Falha Total : Rompimento total de todos os
serviços oferecidos pelo sistema.
Interrupções de energia poderiam fazer um
web site ficar completamente parado.
CONFIABILIDADE E DISPONIBILIDADE
Confiabilidade : É a probabilidade de que o
sistema esteja funcionando correta e
constantemente por um período de tempo
determinado.
Disponibilidade : Baseia-se na noção de
que um componente (ou sistema) alterna
por períodos em que está operacional (ou
períodos ativos) e períodos em que está
parado (ou período inativo).
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
DISPONIBILIDADE DOS SERVIÇOS
NA WEB
TEMPOS E FALHAS
MTTF – Mean Time to Failure (Tempo médio para falha)
MTTR – Mean Time to Recover (Tempo médio p/recuperação)
MTBF – Mean Time Between Failures (Tempo médio entre falhas)
MTTF MTTR
MTBF
Falha n Falha n +1
9´s NA DISPONIBILIDADE
Os sistemas se classificam baseados no número de
9´s que apresentam como disponibilidade :
Classe de Indisponível
disponibilidade Disponibilidade (min/ano) Tipo de Sistema
1 90,0% 52.560 Não controlado
2 99,0% 5.256 Controlado
3 99,9% 526 Bem controlado
4 99,99% 52,6 Tolerante a falhas
5 99,999% 5,3 Altamente disponível
6 99,9999% 0,53 Muito altamente disponível
7 99,99999% 0,053 Ultradisponível
MELHORANDO OS TEMPOS
Existem duas maneiras de melhorar a
disponibilidade :
Reduzindo a frequência de falhas (+MTTF)
Reduzindo o tempo de recuperação (- MTTR)
Tempo para detectar a falha
Tempo para diagnosticar a causa da falha
Tempo para determinar possíveis soluções
Tempo para corrigir o problema
(Log - Histórico de recuperações passadas
REDUNDANDO COMPONENTES
A medida que mais componentes são
acrescentados ao sistema, mais cai a
confiabilidade total do sistema
O uso de componentes em paralelo é
uma das formas mais comuns de usar a
redundância para melhorar a confiabilidade
Basic Data
Number Reliability
Load Balancer 1 0,9999 0,999900
Web server 5 0,85 0,999924
DB Server 2 0,99 0,999900
Site Avail. 0,999724
DESEMPENHO E DISPONIBILIDADE
O desempenho, medido como tempo de
resposta, está bastante relacionado à
disponibilidade
Sistemas que utilizem vários servidores
distribuindo carga para aumentar a
disponibilidade afetarão no desempenho, a
medida que parte dos recursos se tornem
indisponíveis.
INTRODUÇÃO
A Medição de desempenho é um aspecto
fundamental no processo de garantia dos
SLA´s
Medindo desempenho reune-se dados
para análise e modelagem de
desempenho
Ao iniciar a medição, refletir :
Quais fontes dos dados de desempenho ?
Quais ferramentas disponíveis ?
Quais técnicas para cálculo dos parâmetros de
entrada do modelo ?
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
MEDIÇÃO DO DESEMPENHO
ESTRUTURA DE MEDIÇÃO DE DESEMPENHO
A estrutura deverá oferecer uma série de
dados de medição, exigidos pelas 3
funções de gerenciamento de
desempenho :
Detecção de problemas operacionais
Ajuste de desempenho
Planejamento de capacidade
Observar :
Medição de Infraestrutura (partes)
Medição de Aplicação (todo o ciclo)
G F E H
Infra-estrutura de serviço na web
Backbone
ISP´s
D Usuário
Usuário
B
Backbone
Aplicação A
Usuário
MEDIÇÃO :
OBSERVAR A OPERAÇÃO DE UM SISTEMA
POR UM PERÍODO DE TEMPO,
REGISTRANDO VARIÁVEIS RELEVANTES
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
MEDIÇÃO DO DESEMPENHO
REPRESENTAÇÃO DO PROCESSO DE MEDIÇÃO
Especificar
Medições
Especificar Medições : Decidir sobre as
variáveis a serem medidas.
Especificar
Exemplo 1 : Rede Ethernet. Medições de
pontos de teste
pacotes e colisões por segundo
Exemplo 2 : Aplicação de Streaming.
Instrumentar
e coletar dados Qual a qualidade do sinal desejada na
mídia ?
Analisar
e transformar
dados
Especificar
Medições
Especificar Pontos de teste : Determinar
onde os dados de desempenho serão
Especificar coletados.
pontos de teste
Como exemplo, é possível determinar
Especificar
Medições
Instrumentar a coleta de dados : Depois de
selecionar as variáveis a serem observadas,
Especificar deve-se distribuir ferramentas de medição
pontos de teste
para monitorar o sistema.
Dependendo das medições definidas,
Instrumentar
e coletar dados pode-se ter de instalar várias
ferramentas de medição, por diferentes
Analisar pontos da web.
e transformar
dados
Especificar
Medições
Analisar e transformar dados : As
ferramentas de medição normalmente
Especificar reúnem quantidades muito grandes de
pontos de teste
dados brutos, que correspondem a uma
observação detalhada do sistema. Esses
Instrumentar
e coletar dados
dados precisam ser analisados e
transformados em informações
Analisar significativas. Exs.tamanhos médios,
e transformar numero de acessos, popularidade de
dados arquivos, etc.
PÓS EM GESTÃO DA TI - AVALIAÇÃO DE DESEMPENHO – C.E.F. – 2005 – Rafael Sommerfeld
MEDIÇÃO DO DESEMPENHO
CENÁRIO
Maturidade no nível de utilização da web
Cada vêz mais a previsibilidade de
crescimento é necessária
Desafio de atender a crescente demanda
de ambientes cada vez mais solicitados
pela sociedade, contemplando :
Disponibilidade
Segurança
Confiabilidade
PESQUISA
Os problemas de desempenho
vividos pelo gestor de hoje podem ser
parecidos com o gestor de outra
organização
Vários modelos e trabalhos de
pesquisa disponíveis em livros e
Internet
Não existe um modelo de
desempenho personalizado.