Planejamento de Capacidade em Ambiente
Virtualizado
Bruno Domingues [email protected]
Sr. Solution Architect
Intel Corporation
Agenda
• Introdução
• Entendendo os usuários
• Entendendo as aplicações
• Entendendo a infraestrutura
• A “Tragédia” do planejamento de capacidade
Introdução
Escher– Unbelievable
Natureza do Ambiente Virtualizado
Software as a Service
Platform as a Service
Infrastructure as a Service
• Múltiplos usuários de
diferentes aplicações
• Múltiplas aplicações com
características distintas
• …Compartilhando a
mesma infraestrutura
A arte de acomodar “picos” e “vales”
Acomodar recursos computacionais de natureza distintas (método Ad Hoc)
CPU (MHz) Memoria
(MB) Rede (Mbps) Disco (IOPs)
Aplicação A 1500 4096 1000 400
Aplicação B 2000 4096 1500 520
Aplicação C 3000 8192 2000 880
… … … … …
Ʃ MHz Ʃ MB Ʃ Mbps Ʃ IOPs
xMhz yMB zMbps wIOPs
𝑀𝑎𝑥 𝛼, 𝛽, 𝛾, 𝛿 = número de servidores
Capacidade
instalada em
cada servidor
= 𝛼, 𝛽, 𝛾, 𝛿
Será que é simples assim?
Entendendo os Usuários
Michelangelo – A aliança entre Deus e os homens
Requisições de Acesso
Entender a distribuição de demanda
sobre o sistema na linha do tempo é
o primeiro passo.
Hits por hora Horário
500 6:00
1000 7:00
11000 8:00
20000 9:00
5000 10:00
1850 11:00
500 12:00
100 13:00
50 14:00
Total de usuários: 40000
x: 20000
média (µ): 4444.444
desvio padrão (α): 6829.689
Normal (y): 0.98863
hits/seg: 12.20526
0
5000
10000
15000
20000
25000
6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00
Hit
s p
or
ho
ra
Horário
Carga na aplicação
Equação da curva de Gauss (σ = desvio padrão, µ =
média aritmética)
Concorrência de Acesso
0.00000000
0.02000000
0.04000000
0.06000000
0.08000000
0.10000000
0.12000000
0 2 4 6 8 10 12 14 16 18 20 22 24 26P
rob
abili
ty
Assumindo que a pior situação haja
20mil usuários acessando o sistema
em um período de 1h, não significa
que haja 5,5 requisições/segundos
(ex. 20mil/3600 segundos)
A maior probabilidade é que se
tenha que lidar com 12 requisições
simultâneas e em intervalos de 0,5
segundos e a probabilidade de
atender mais de 20
requisições/segundo é menor de 2%
Distribuição de probabilidade de Poisson
Entendendo as Aplicações
Capacidades da Aplicação
Aplicação do LT (λ=taxa de requisição de Poisson, μ=capacidade de processamento de requisições, p=λ/μ
Entendendo a Infraestrutura
Tópicos:
• Processadores
• Memória
• Rede
• Armazenamento
Memória
12GB 24GB 36GB 48GB 72GB 96GB 144GB 192GB 256GB 512GB 1TB
Blade Half Height 2S $ 8,126.00 $ 8,566.00 $ 9,846.00 $ 17,766.00
Blade Full Height 2S $ 9,308.00 $ 9,888.00 $ 10,748.00 $ 11,028.00 $ 12,348.00 $ 18,948.00 $ 23,748.00 $ 64,948.00
Rack 2S $ 8,165.00 $ 8,605.00 $ 9,605.00 $ 9,885.00 $ 11,205.00 $ 17,805.00 $ 22,605.00
Rack 4S $ 22,763.00 $ 23,243.00 $ 23,563.00 $ 24,203.00 $ 25,163.00 $ 26,123.00 $ 28,523.00 $ 31,883.00 $ 36,363.00
Rack 8S $ 45,480.00 $ 45,960.00 $ 46,440.00 $ 46,920.00 $ 47,880.00 $ 48,840.00 $ 50,760.00 $ 52,680.00 $ 55,240.00
Rack 16S $ 180,480.00 $ 180,960.00 $ 181,440.00 $ 181,920.00 $ 182,880.00 $ 183,840.00 $ 185,760.00 $ 187,680.00 $ 190,240.00 $ 200,480.00
Rack 32S $ 300,480.00 $ 300,960.00 $ 301,440.00 $ 301,920.00 $ 302,880.00 $ 303,840.00 $ 305,760.00 $ 307,680.00 $ 310,240.00 $ 320,480.00 $ 340,000.00
Considerando um template básico de VM com 1 vCPU e 4GB de memória RAM
Rede unificada para ambiente virtualizado
DAS
NAS
iSCSI SAN FC SAN
Direct Attached Storage
Network Attached Storage iSCSI Storage Area Network
Fibre Channel Storage Area Network
Discos Locais
Baixa Utilização, não conectado a rede
Armazenamento baseado em arquivos
Crescimento de 52%/ano em capacidade
Ethernet block storage
Crescimento de 72%/ano em capacidade
FCoE
Legacy Block Storage
Declinio na participação de unidades/capacidade
Núvem Publica Núvem Privada Legado
Arquitetura padrão de indústria para scale-out storage (NFSv4.1)
2
Requisição de local 3
Endereço do local
4 Requisita dado
5 Resposta com o dado
Examplo de Leitura
6 Resposta do objeto
para a aplicação
1 Aplicação requisita
objeto
Servidores de Storage Servidores de
Metadados
Servidores de Aplicação
2
3
Cliente storage
1 6
5 4
app
metadata
services storage
services
15
A “Tragédia” do Planejamento de
Capacidade
Impacto da Virtualização em OLTP
VMM assistido por hardware
VMM usando paravirtualização
A raiz do problema
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 6,179 59.89
log file sync 2,488,836 3,051 1 29.57 Commit
latch: cache buffers chains 50,724 210 4 2.04 Concurrency
latch: In memory undo latch 168,928 150 1 1.45 Concurrency
cursor: mutex S 178,372 148 1 1.44 Concurrency
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
log file sync 1,510,872 9,488 6 64.75 Commit
DB CPU 4,345 29.66
latch: cache buffers chains 83,000 387 5 2.64 Concurrency
latch: enqueue hash chains 15,921 72 5 0.49 Other
latch: In memory undo latch 74,511 70 1 0.48 Concurrency
Desempenho Nativo
Desempenho Virtualizado
• Com o VMM C o impacto maior foi o limite de vCPUs
• Com o VMM D o problema foi com a tecnologia de disco virtual
• Em todos eles o mesmo problema se apresentou:
• Tempos altos de read latches
• Banda de I/O para o redo
Basicamente, um servidores de
4 CPUs virtualizado, apresentou
o mesmo desempenho de um
servidor de 2 CPUs não-
virtualizado
A Consequência do Problema
• A maioria dos servidores web são configurados para alocar 25 threads por CPU;
• Maior tempo no round-trip entre o servidor e de aplicação e o banco de dados,
mais tempo a thread fica alocada, logo menos thread disponível para novos
usuários = HTTP ERROR 500 (Server is too busy)
• Maior o número de locks no banco de dados (especialmente para os altamente
normalizados), logo potencial impacto no desempenho e funcionamento da
aplicação.
Seja Cético!
• Planejamento de Capacidade
somente no “papel” raramente funciona – teste em laboratório
• Confira sempre se os valores
esperados estão de fato sendo
realizados no laboratório: – Configuração de gerenciamento de
energia na BIOS pode derrubar o
desempenho de servidor de BD em 50%!
– Configurações de extensões de
virtualizações podem conter “truques”;
– Configuração de HBA (i.e. queuedetph e
queuelength) possuem um impacto
enorme no I/O
– Etc…
Carl Sagan
Top Related