2. CÓDIGO DA SESSÃO: VIR312
Dicas e Truques de
Performance: Como obter o
maximo do Windows Server
2008 R2 Hyper-V
Fabio Hara
IT Pro Evangelist
Microsoft Brasil
Rodrigo Immaginário
MVP Security
Conselho de Arquitetos de
Infraestrutura - CAI
3. Objetivos desta Sessão
3
Percepções do Mercado
Informações públicas disponíveis
Dicas de performance do Hyper-V
Pontos Principais
Aprenda como identificar contenções de recurso
Hyper-V está pronto para empresas e é melhor com
Windows Server 2008 R2
4. Observações vindas do mercado
Nossos Clientes e Parceiros
4
Hyper-V não funciona
com muitas VM’s por
servidor (Não consigo ter
densidade)
Hyper-V não suporta
pressão
Não consigo rodar
aplicações críticas como
SQL, SharePoint e
Exchange no Hyper-V
Experimente o Hyper-V
R2, você vai ter uma
grande diferença. Não
compare com o R1 do
Hyper-V
Windows Server 2008 R2
tem uma performance
incrível
O Hyper-V R2 é uma
plataforma robusta para
aplicações críticas
Microsoft e de outros
fabricantes também
5. Quebrando a Performance – Hyper-V
5
Performance iSCSI com placa de rede Intel® 82599 10G NIC com VMDq,
Plataforma Intel® Xeon 5580, Windows Server 2008 R2 e Hyper-V R2
• 715k IOPs -- 10GbE line rate
• Intel VMDq e Microsoft VMQ
aceleram o iSCSI para a VM
• Hyper-V atinge throughput nativo
em 8k e muito mais
• Pronto para o futuro: Escala com
novas plataformas, SO’s e placas
Ethernet
• https://msevents.microsoft.com/CUI/
WebCastEventDetails.aspx?culture=
en-
US&EventID=1032432957&Country
Code=US
Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance
of Microsoft Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect
actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are
considering purchasing.
Read/Write IOPs and Throughput Test
6. Teste de Performance da Unisys com
Live Migration
http://www.microsoft.com/presspass/events/teched/docs/unisys.doc
6
7. Performance em SQL Server: SLAT
Escalabilidade de Instâncias Virtuais
80
70
60
50
40
30
20
10
7
)
Resultados:
• Capacidade de carga melhorados com
• Escalabilidade quase linear de throughput
• Performance melhorada com Windows
Server 2008 R2 e arquitetura de
processador com SLAT
3500
3000
2500
2000
1500
1000
500
0
0
consolidação
sem CPU over-commit
1VM 2VM 3VM 4VM 5VM 6VM 7VM 8VM
Batch req/sec %CPU Relative Throughput
% CPU
Throughput
(Batch requests/sec)
Configuração:
• SO: Microsoft® Windows Server® 2008 R2
Hyper-V™
• Hardware: HP DL585 (16 core) com SLAT
(Second Level Address Translation), storage
HP EVA 8000
• Maquinas Virtuais: 4 VP e 7 GB RAM por
VM; VHD com tamanho fixo
Heavy
Load
Moderate
Load
Low
Load
Relative Throughput for
Windows Server 2008
Escalabilidade quase linear CPU over-commit
Sem CPU over-commit
Windows Server 2008 R2 Windows Server 2008 R2 Batch requests/sec/%CPU
Windows Server 2008 R2
8. http://virtualrealitycheck.net/
8
Testes sobre como diferentes Hypervisors gerenciam
cargas de trabalho de Terminal Servers e VDI
Fase II do Projeto VRC utiliza Citrix XenServer 5.5,
Windows Server 2008 R2 Hyper-V e VMware vSphere 4
Update 1 (build 208167)
Resultados atuais comparam Terminal Servers em VMs
Acesse este relatório em http://virtualrealitycheck.net
10. Qual o significado disto?
10
Hyper-V executa TS (mesmo no W2K3) muito bem
A diferença “perceptível” de performance entre ESX e
Hyper-V não existe
Hyper-V executa RDS muito bem!
Os testes simularam um ambiente real. Os resultados
podem ser diferentes se executados no seu ambiente
Veja o documento de metodologia de Benchmarking
em:
http://virtualrealitycheck.net/
11. 11
Dicas de Performance no Hyper-V
Dicas para obter umamelhor experiência
13. 13
Conheça os 4 pilares de
recursos do seu servidor
DISK
MEM
NET
#1
CPU
14. Os 4 Pilares*
Initial Indicators of Performance
14
CPU:
Processor(*)% Processor Time > 75%
Memory:
MemoryAvailable MBytes < 100MBs
Disk
LogicalDisk(*)Avg Disk sec/Read|Write >
15ms
Network
Network Interface(*)Output Queue
Length > 2
CPU
DISK
MEM
NET
15. Processador
15
O G2C (Guest to Core) é o guia para determinar
aprox quanto processamento será necessário
para cada instância virtual
BaixoWorkload de Guest 2:1 2 guests por Core
MédioWorkload de Guest 1:1 1 guest por Core
Alto Workload de Guest 1:2 1 guest para cada 2 Cores
Nota: isto não é crítico, pois fatores como
configurações de disco afetam muito mais a
performance das VMs
16. Utilize contadores de performance
do Hyper-V
Hyper-V Hypervisor Logical Processor(*)
% Total Run Time
Hyper-V Hypervisor Virtual Processor(*)
% Guest Run Time
16
Bom: menor que 75%
Atenção: maior que 75%
Crítico: maior que 85%
Evite o Task Manager!
Evite o % Processor Time!
Físicos
Virtuais
#2
17. Utilização de Processador do Hyper-V
O contador de performance % Processor Time não é preciso. Utilize o %
Guest Run Time e % Total Run Time
Partição Pai (máquina física)
90% 90% 90% 90%
95% 95% 95% 95%
Hyper-V Hypervisor Logical Processor(*)%
Total Run Time
Virtual BizTalk
% Processor Time
100% 100%
Root Partition % Processor Time
Virtual BizTalk
% Processor Time
100% 100%
Hyper-V Hypervisor Logical Processor(*)%
Guest Run Time
1
2
3
4
1
2% 5% 4% 3%
18. Análise a Taxa de Processamento
18
Taxa 1 para 1 Taxa 2 para 1
BizTalk Server
Virtual Processors
0
BizTalk Server
Virtual Processors
0
BizTalk Server
Virtual Processors
0
BizTalk Server
Virtual Processors
0
0 1 2 3
Processadores Lógicos
BizTalk Server
Virtual Processors
0 1
BizTalk Server
Virtual Processors
0 1
BizTalk Server
Virtual Processors
0 1
BizTalk Server
Virtual Processors
0 1
0 1 2 3
Processadores Lógicos
1 2
#3
Sub Utilizado? Super Utilizado?
19. Instale o Integration Components
19
Instale os Integration
Components (ICs)
Grande melhora em
performance
Verifique pelo Virtual
Machine Bus no
Device Manager
ICs não é
necessário para
WS08 R2 como
guest
#4
20. Use VMs Windows 2008
20
#5
Use o Windows Server 2008 (ou superior) como SO
Guest
Enlightenments reduzem o custo de funções do SO
como por exemplo gerenciamento de memória
Chamadas HyperCalls diretas para o Hypervisor
Not optimal Optimal
21. Use Processadores com SLAT
21
#6
Utilize hardware que suporte o Second Level Address Translation
(SLAT)
O SLAT é um hardware otimizado para ambientes virtualizados
Denominação da AMD - Rapid Virtualization Indexing
Processadores Phenom e Opteron
Algumas vezes chamado de Nested Page Tables (NPT)
Denominação da Intel - Extended Page Tables (EPT)
Processadores baseados no Nehalem (Intel Core i7 para desktops e série
Xeon 5500 para servidores)
The Virtual / Process view The Physical / real view
Physical Memory Pages
Virtual Machine 1
Virtual Machine 1
Hyper Visor
Virtual Machine 3
Operating System
22. Análise de Processamento com SLAT
Comparação entre SQL Server físico para virtual
Utilização de processadores físicos possui
diferença de aproximadamente 1%!
Teste com Intel Nehalem x5550 com 16 LPs
WS08 R2 rodando com WS08 R2
22
Processor(*)% Processor Time Min Avg Max
Std
Deviation
10% of Outliers
Removed
Physical SQL 4 14 100 14 12
Hyper-V Hypervisor Logical
Processor(_Total)% Total Run Time 3 15 23 3 14
Virtual SQL 4 22 35 5 21
23. Feche a Janela dos Gerenciadores
23
#7
Hyper-V Manager e Sessões VMConnect consomem recursos.
Feche ou minimize o Hyper-V Manager durante os testes.
Feche as janelas de sessões VMConnect durante os testes.
24. Use Drivers de Vídeo Básicos
24
#8
Evite drivers de placas de vídeo de alta
performance.
Drivers de alta performance (WDDM) causam
muitas traduções de endereçamento virtual
para físico
Optimal
25. Evite Utilizar a Root Partition
25
Evite utilizar serviços na root partition (maquina
host)
X
DHCP
DNS
IIS
Directory
Services
…
#9
26. Tempo de Resposta do Disco
ainda Prevalece!
LogicalDisk(*)Avg. Disk Sec/Read|Write
26
Bom: less than 10ms (0.010)
Alerta: greater than 15ms (0.015)
Crítico: greater than 25ms (0.015)
LogicalDisk(*)Disk Transfers/sec
Analisar o IOPS na perspectiva do SO
Para referência:
• Único spindle de 5400rpm: ~14ms raw seek time com
aprox 200 IOPS
• Floppy 3.5”: ~900ms* com aprox 1 IOPS
#10
27. Solid State Surpreende
27
Hyper-V executa
muito bem em Solid
State Disks (SSD)
Exemplo:
SSD é capaz de
oferecer mais I/O’s
por segundo (IOPS)
com tempos mais
rápidos de resposta
Sem muita lentidão
com Hyper-V R2!
Menos de 1ms
gasto no Hyper-V
#11
Higher
Is
Better
Lower
Is
Better
E: = SSD
SSD possui
mais
throughput!
SSD possui
tempo de
resposta
mais
rapido
28. Comparação de Disco com Hyper-V R2*
28
Bom: Discos VHDs Fixos e Dinâmicos possuem
praticamente mesma performance agora.
Ainda melhor: Pass-Through é o melhor para
performance.
Isso Importa? VHD’s dinâmicos gastam menos
de 1ms no Hypervisor!
David Bermingham's blog - http://clusteringformeremortals.com/
29. Storage
29
Performance de disco é o maior fator que afeta
performance de virtualização
Host Físico – disco dedicado
VHDs – discos separados
SE a tolerância a falhas não for requisito obrigatório
(ex: servidores de teste)
RAID-0
SE a tolerância a falhas for requisito obrigatório (ex:
produção)
RAID-1 (inclui RAID-10)
Não utilize RAID-5 para volumes com VHDs devido ao
overhead de escrita de paridade
30. Configuração de Discos
30
Volume para Sistema Operacional
2 discos dedicados em RAID-1
Volumes de Dados / VHD
SAS 2,5” ou 3,5” – 10k ou 15k – Scsi disk
Controladora RAID
Controladoras “onboard” normalmente possuem
performance limitada
Prefira controladoras adicionais
256MB+ Battery Backed Cache
Read-ahead cache
Write-back cache
Queda de energia pode ocasionar corrupção de dados caso esteja
habilitado. Inclua no-breaks
Suporte a RAID 0, 1 e 10
Suporte a 128k+ Max strip size (pref. 256k)
31. Synthetic SCSI Controller
31
Melhor performance para I/O de Storage –
redução de overhead de CPU em relação ao
Emulated IDE Device
Depende de Integration Services
Para volumes com I/O intensivo – attach de
discos de VHD´s para cada Synthetic SCSI
Controller
32. Criando Partições para Storage
32
Selecione o tamanho correto de cluster ao
formatar as partições:
Perfil de I/O de VMs Tamanho de Cluster
VMs em Geral 16k
Alta taxa de escrita da VM 64k
Windows Server 2008 e R2 automaticamente faz
alinhamento de partição em 1024k, não sendo
necessário fazer alinhamento manual
CUIDADO: Pass-through de VMs Windows Server
2000 e/ou 2003
33. Desfragmentar?
Operações de escrita de
bloco de dados em
arquivos VHD são
baseadas em FIFO (First-in
First-Out). Como resultado
os dados se tornam
fragmentados com o
tempo
Realize regularmente
operações de
desfragmentação para
compactar os blocs de
dados
33
Nível 1
• Fragmentação
do Host Físico
Nível 2
• Fragmentação
do VHD
Nível 3
• Fragmentação
no sistema de
arquivos da VM
34. Dicas Adicionais
34
Se voce possuir VMs Windows Server 2003 (ou
anteriores) então desabilite o recurso de File
System Last Access Time para melhorar
performance
reg add
HKLMSystemCurrentControlSetControlFil
eSystem /v NTFSDisableLastAccessUpdate /t
REG_DWORD /d 0x1 /f
Desabilite o antivírus da monitoração de
volumes que contenham dados do Hyper-V
(VHD, snapshot, etc)
35. Evite Snapshots
35
#12
Evite usar snapshots do Hyper-V, menos no
WS08 R2.
Muito bom para backups rápidos, mas…
Snapshots requerem overhead adicional para
monitorar alterações
36. Encadeamento de Snapshots
Performance - R1 vs R2
A performance de encadeamentos de snapshots
é melhor no WS08 Hyper-V R2
36
Maior é
melhor!
Virtual Hard Disk Performance
37. Utilize Pass-Through com SCSI
I/O passa direito para o
storage stack na root
partition.
Melhor para serviços
com I/O alto, como SQL e
Exchange.
37
#13
38. Utilize VHDs de Tamanho Fixo
38
#14
Se o disco de Pass-Through não for possível
então utilize VHDs de tamanho fixo
Melhor para performance, porém consome mais
espaço em disco da storage do que o VHD
dinâmico.
39. DesabiliteMídia Removível
39
#15
Desabilite os drivers de mídias removíveis
(floppy, optical drive, etc.) quando não estiver
em uso.
Mídias removíveis são periodicamente
acessadas
40. Memória para a Root Partition
40
Deixe pelo menos 512MBs de RAM para a root
partition. 1GB ou mais é recomendado.
A mesma regra é válida para Server Core Edition
#16
41. Dimensione a Memória
41
#17
MemoryAvailable MBytes: Mede a memória
RAM disponível
Bom: Maior que 10% da RAM
Atenção: Menor que 10% da RAM
Crítico: Menor que 100MBs
Aplicável a todos os computadores (físicos e
virtuais).
Picos de Pages/sec isolados não significam uma
condição de memória baixa
Leia “The Case of the Phantom Hard Page Faults”
42. Planejamento de Capacidade de Memória
42
Mais memória
RAM permite
utilizar ativamente
a memória –
evitando paginação
em disco
Root Partition (host físico) – 16GBs
Root Partition
(physical host)
de RAM
Virtual Guest
RAM: 2GBs
Committed
Memory
Committe
d Memory
Pagefile.sys
Virtual Guest
RAM: 4GBs
Committed Memory
Pagefile.sys
43. Planejamento de Capacidade de Memória
43
Utilize
“MemoryCommit
ted Bytes” como
ponto inicial para
Planejamento
de Memória
RAM
Root Partition (Host Físico) – 16GBs
de RAM
Root Partition
(physical host)
Computador Físico
RAM: 2GBs
Committed
Memory –
2GBs
Committed
Memory –
Pagefile.sys
2GBs
Virtual Guest
RAM: 4GBs
Committed Memory
Pagefile.sys
44. Evite Gargalos de Rede
44
Network Interface(*)Output Queue Length
Bom: menor que 1 em média
Atenção: maior que 1 em média
Crítico: maior que 2 em média
Diagnóstico com Resource Monitor, xPerf, etc.
Adicione mais placas de rede se ocorrerem
gargalos
Dedique pelo menos 1 placa 1Gb para Live
Migration.
Ref: Hyper-V: Live Migration Network Configuration Guide
#18
45. Evite Legacy Adapters
45
Utilize synthetic placas de rede (padrão).
Evite legacy placas de rede.
Legacy adapters são ideiais para compatibilidade (PXE
boot, SO sem suporte p/ ICs, etc.), mas não possui
mesmo desempenhoque a synthetic placa de rede.
Baixo desempenho
Ideal
#19
46. Utilize Recursos de Rede no R2
46
O Virtual Machine Queues (VMQ) reduz a sobrecarga
reduzindo o custo de roteamento de pacotes de
entrada, cópias de paths mais otimizadas e melhor
distribuição de interrupções.
O Chimney offload ajuda para conexões de maior
duração, além de melhorar o overhead reduzindo
cópias de path.
TCP Checksum offloading
Large Send Offload (LSOv1 e LSOv2)
Requer o Windows Server 2008 R2
Veja o seguinte arquivo para maiores informações:
Networking Deployment Guide: Deploying High-Speed
Networking Features
#20
47. Divisão de Placas de rede
Configuração de
47
Host
Acesso às VMs Gerenciamento
Cluster e Cluster
Shared Volumes
Live migration Comentários
4 placas de rede
com 1 Gbps
placa virtual de
rede 1
placa de rede 2 placa de rede 3 placa de rede 4 Recomendado
3 placas de rede
com 1 Gbps; 2
placas em
teaming para
agregação de
link (private)
placa virtual de
rede 1
placa virtual de
rede 1 com
banda restrita
até 10%
placa de rede 2
(teamed)
placa de rede 2
com banda
restrita até 40%
(teamed)
Suportado
3 placas de rede
com 1 Gbps
placa virtual de
rede 1
placa virtual de
rede 1 com
banda restrita
até 10%
placa de rede 2 placa de rede 3 Suportado
2 placas de rede
com 10 Gbps
placa virtual de
rede 1
placa virtual de
rede 1 com
banda restrita
até 1%
placa de rede 2
placa de rede 2
com banda
restrita até 50%
Suportado
2 placas de rede
com 10 Gbps; 1
placa de rede
com 1 Gbps
placa virtual de
rede 1 (10 Gbps)
placa de rede 2
(1 Gbps)
placa de rede 3
(10 Gbps)
placa de rede 2
com banda
restrita até 50%
Suportado
2 placas de rede
com 10 Gbps; 2
placas de rede
com 1 Gbps
placa virtual de
rede 1 (10 Gbps)
placa de rede 2
(1 Gbps)
placa de rede 3
(1 Gbps)
placa de rede 4
(10 Gbps)
Suportado
48. PAL v2.0 Beta 1!
48
Ferrament de análise de logs
de contadores de
performance (*.blg), além de
criar relatórios HTML para
diagnósticos mais fáceis
Facil análise de contadores
Compatível com contadores
do Hyper-V
Open source e gratuito
http://pal.codeplex.com
#21