Comparando o desempenho do disco no SGBD: HD, SDD, Ramdrive e Cloud
1. 1
Comparando o desempenho
do disco no SGBD: HD, SDD,
Ramdrive e Cloud
Dr. Mauro Pichiliani (mauro@pichiliani.com.br)
@pichiliani
@databasecast
2. 2
Quem sou eu
• Mestre e doutor em computação pelo ITA
• Escritor da SQL Magazine, Fórum Access, Java
Magazine, SQLServerCentral.com e outras
• Colaborador do iMasters há 15 anos
• Autor do livro “Conversando sobre banco de dados”
• Co-produtor do DatabaseCast
• Consultor independente e autor de cursos on-line
3. 3
Tópicos
Opções de armazenamento
Por quê comparar?
Escopo da comparação
Ambientes de testes
Testes de taxas de transferência
Análise dos resultados
Conclusão
4. 4
Opções de armazenamento
Subsistema de armazenamento de dados
permanente possui diversos componentes
Simplificando:
Tecnologia de transferência
Hardware/Sofware
Tecnologias de transferência comuns:
USB 2.0 (Universal Serial Bus): 480 Mbit/s
SATA (Seria AT Attachment): 6 Gbit/s
SAS (Serial Attached SCSI): 12 Gbit/s
5. 5
Hardware – HD magnética
HD (Hard Disk) magnética
Componentes mecânicos (sujeito a falhas)
Grande quantidade de dados (Terabytes)
Memória cache interna
Característica RPM (rotações por minuto):
5.400 rpm: notebooks
7.200 rpm: desktops
15.000 (15k) rpm: servidores
6. 6
Hardware – SSD
SSD (Solid State Drive): “revolução” na área
Sem componentes mecânicos: memória flash +
memória cache interna
Média quantidade de dados (Gigabytes)
Alta taxa de transferência de dados
Requer alguns cuidados especiais
Velocidades variam muito de acordo com cada
fabricante
Relação custo x benefício
7. 7
Hardware/Software – Ramdrive
Ramdrive: mapear memória RAM em um drive
Tecnologia “antiga”, mas com novidades
Reserva memória RAM de forma exclusiva
Reduz memória para processos do SO
Volátil, porém pode-se exportar drive (ISO)
Alta velocidade (barramento interno)
Baixa quantidade de armazenamento (gigabytes)
Não é limitado pela tecnologia de transferência
Exemplo: SoftPerfect RAM Disk
8. 8
Hardware/Software – Nuvem
Diversos fornecedores de opções na nuvem
Utilizam ambiente virtualizado: hypervisor (Xen, KVM,
Virtual PC, etc)
Custo por uso ou valor fixo mensal
Possibilidade de adição de recursos (modelo de
escalonamento horizontal/banco distribuído)
Componentes virtualizados
Ambiente com recursos compartilhados
Baixa velocidade
Quantidade de armazenamento variável
SLA de IOPS em alguns casos
Fornecedores:
9. 9
Por quê comparar?
Tecnologias de armazenamento geram dúvidas em relação a
performance
Comparação pode ajudar a tomada de decisão
Um dos principais aspectos na escolha da opção: taxa de
transferência de dados (leitura e gravação)
A comparação deve:
Ter metodologia clara
Ser baseada em um cenário específico
Suportada por rigor científico
Possuir critérios e valores comparativos
Incluir tratamento estatístico
Comparações ‘informais’ não formam um argumento válido:
Não descrevem o ambiente, metodologia e protocolo de experimento
Não há tratamento estatístico
Replicação e auditoria dificuldada
Muito viés e dados qualitativos
Não é representativo do cenário comum de uso do BD
10. 10
Escopo da comparação
Medir taxa de acesso para importar/exportar dados, backup/restore e
executar transações
Comparação justa e prática: ambientes devem realizar a mesma
tarefa (ler e gravar dados por meio do banco de dados)
Opções comparadas:
HD magnética 5400 rpm mSATA (notebook): HD 5400
HD magnética 7200 rpm SATA (desktop): HD 7200
SSD 250 GB SATA (desktop): SSD
Ramdrive 10 GB (desktop): ramdrive
Nuvem fornecedor X com HD normal: Cloud normal
Nuvem fornecedor X com HD SSD: Cloud SSD
Comparação apenas com uma instância (sem ambiente distribuído)
Testes realizados sem opções de paralelismo e RAID
11. 11
Ambiente de testes – Hardware e Software
Hardware:
Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM: HD
7200, SSD, ramdrive
Notebook Dell Inspiron 14 (i3, 2 cores @ 1.7Ghz), 4 GB RAM: HD
5400
CPU virtual (Intel Xeon 2 cores @ 2.6 Ghz): Cloud normal e
Cloud SSD
Software:
Crystal Disk Mark 64 bits (baseline)
SQL Server 2014 Standard
Windows Server 2008
Sistema de arquivos NTFS com opções padrão
Ambiente, protoloco do experimento, dados e análises disponíveis
futuramente no site da revista SQL Magazine
12. 12
Ambiente de testes – Dados
Arquivos/Tabela com 11 colunas: 1 int + 10 float
Coluna int (sequêncial) + valores float aleatórios (entre 1,00 e
100.000,00)
Arquivo CSV com linhas (N) variando de 1.000.000 a 10.000.000
Quantidade de transações (N) variando de 10.000 a 100.000
Medição da taxa de transferência em Megabytes por segundo (MB/s):
Crystal Disk Mark: informado pela ferramenta
Backup/Restore: informado pelo comando
Importação/Exportação: tamanho do arquivo dividido pelo tempo
Medição de transações pelo tempo total gasto em segundos
Cada teste foi realizado 10 vezes e obtida a média
Arquivos de dados, transaction log e arquivos CSV no mesmo drive
Espaço em disco alocado previamente para arquivos de dados e log
Sem configurações de cache, lock, e parâmetros específicos
Recovery model: bulk-logged
13. 13
Testes com o Crystal Disk Mark
Testes com o Crystal Disk Mark mediram taxa de transferência de
dados em MB/s: quanto maior, melhor
4 testes internos para leitura e gravação:
Seq Q32T1: Leitura/Gravação sequencial (tam. bloco = 128KB)
com múltiplas filas (queues) e threads
4K Q32T1: Leitura/Gravação randômica (tam. do bloco = 4KB)
com múltiplas filas (queues) e threads
Seq: Leitura/Gravação sequencial (tam. do bloco = 1MB) com
uma única thread
4K: Leitura/Gravação randômica (tam. do bloco = 4KB) com uma
thread e uma fila (queue).
14. Na média geral ramdrive foi 25 vezes mais rápido que SSD
14
Testes Crystal Disk Mark – Resultado Leitura
15. Na média geral ramdrive foi 29 vezes mais rápido que SSD
15
Testes Crystal Disk Mark – Resultado Gravação
16. 16
Testes de backup/restore
Testes de backup/restore mediram taxa de transferência de dados
em MB/s: quanto maior, melhor
Backup e restore completo (full) do banco com o arquivo importado
Somente um backup por arquivo (backup device)
Checagem de arquivo não computada no valor de MB/s retornado
17. Na média geral ramdrive foi 31 vezes mais rápido que SSD
17
Testes de Restore (leitura)
18. Na média geral ramdrive foi 26 vezes mais rápido que SSD 18
Testes de Backup (gravação)
19. 19
Testes de importação/exportação
Testes de importação/exportação mediram taxa de transferência de
dados em MB/s: quanto maior, melhor
Testes de importação/exportação divididos em dois grupos:
Importação/exportação linha a linha de arquivos CSV (BCP)
Importação/exportação direta binária dos arquivos (BULK)
Importação CSV: utilitário de linha de comando bcp
Importação BULK: SELECT com função OPENROWSET()
Exportação CSV: utilitário de linha de comando bcp
Exportação BULK: utilitário de linha de comando bcp com parâmetro
–c
A cada operação de importação/exportação:
Limpeza do cache
Backup de transaction log
20. Na média geral ramdrive foi apenas 1,5% mais rápido que SSD
20
Testes de importação BCP (leitura)
21. Na média geral ramdrive foi apenas 0,2% mais rápido que HD 7200
21
Testes de exportação BCP (gravação)
22. Na média geral ramdrive foi 21 vezes mais rápido que SSD
22
Testes de importação BULK (leitura)
23. Na média geral ramdrive foi aprox. 30% mais rápido que SSD
23
Testes de exportação BULK (gravação)
24. 24
Testes de transações
Testes de transações mediram o tempo de execução: quanto menor,
melhor
Testes de transação divididos em dois grupos:
Individuais: cada instrução é uma transação
Agrupadas: todas as instruções dentro de uma única transação
Uso do comando INSERT dentro de script com loop: mesmos dados
dos arquivos CSV
N variando de 10.000 a 100.000 por motivos de duração de testes
A cada teste de transação:
Limpeza do cache
Backup de transaction log
25. Na média geral tempos de ramdrive foram 30% menores que HD 7200
25
Testes de transações individuais
26. Na média geral tempos de SSD, HD 7200 e ramdrive ficaram iguais
26
Testes de transações agrupadas
27. 27
Análise dos resultados - Geral
ramdrive teve melhor desempenho seguido de SSD
Opções na nuvem deixaram muito a desejar:
Em alguns casos, resultados piores que HD 5400
Diferença de preço de Cloud SSD para Cloud HD não possui boa
relação custo x benefício
Opções na nuvem apresentaram muita variações nos testes (fatores
externos?)
Memória virtual não foi usada em nenhum dos cenários de testes
Processamento e memória não foram gargalos
Críticas:
Poucas opções de nuvem testadas
Sem uso de RAID, storage específico e SAS
Ambiente Windows apenas
28. Análise dos resultados - Valores
Tipo de teste Detalhe do
teste
Último
colocado
Valor
Médio último
colocado
(MB/s)
Primeiro
colocado
Valor médio
primeiro
colocado (MB/s)
Crystal Disk
Mark -
Leitura
4K HD 5400 0,3 ramdrive 1.216,4
SEQ Cloud SSD 25,2 ramdrive 5.778,6
4K Q32T1 HD 5400 0,5 ramdrive 1.079,1
SEQ Q32T1 Cloud SSD 25,2 ramdrive 3.905,8
Crystal Disk
Mark -
Gravação
4K HD 5400 0,7 ramdrive 937
SEQ Cloud SSD 25,2 ramdrive 6.592,5
4K Q32T1 HD 5400 0,7 ramdrive 910,7
SEQ Q32T1 Cloud SSD 25,2 ramdrive 5.504,1
Restore
(leitura)
Restore
Cloud SSD 3,5 ramdrive 1.024,7
Backup
(gravação)
Backup
Cloud SSD 13 ramdrive 2.332,2
Importação
(leitura)
BCP HD 5400 5,8 ramdrive 20,4
Bulk insert Cloud SSD 52,3 ramdrive 4.071,5
Exportação
(gravação)
BCP HD 5400 5,5 ramdrive 11,2
Bulk export Cloud SSD 8,8 ramdrive 115,9
Transações Individual Cloud SSD 37,3s ramdrive 1,7s
Agrupado HD 5400 0,6s
SSD,
HD 7200,
ramdrive
0,4s
29. 29
Conclusão
Comparações práticas de opções fornecem evidências sobre
desempenho de subsistema de armazenamento
Sempre considerar ambiente de software, hardware, dados e
características das opções em comparações
Há evidências que sugerem melhor desempenho de opções
em memória (ramdrive e SSD) em relação às demais
Há evidência que sugerem que opção na nuvem não é a mais
“rápida”
Muitas técnicas podem ser aplicadas para melhorar taxas de
transferências e tempos de execução
Não concorda com os resultados?
Replique o experimento
Me contrate para uma consultoria!