Para um novo servidor de banco de dados, qual partição será mais beneficiada pelos SSDs?

3

Estou especulando um novo servidor de banco de dados para um ambiente Microsoft SQL Server. No passado, eu criaria quatro matrizes RAID separadas para sistema operacional, dados, logs de transação e tempdb. Agora, estou analisando a possibilidade de adicionar alguns SSDs para melhorar ainda mais o desempenho. Eu só tenho o orçamento para dois SSDs e quero espelhá-los no caso de um deles falhar. Então, só posso usar os SSDs para substituir um dos meus quatro arrays padrão.

Qual opção daria a maior melhoria de desempenho?

  • Use SSDs para o SO
  • Use SSDs para dados
  • Use SSDs para logs de transações
  • Use SSDs para o Tempdb
por Josh Yeager 13.12.2010 / 19:02

6 respostas

1

Se você tiver um sistema atual com o data / log / tempdb já particionado, eu verificaria suas estatísticas de I / O para cada partição e basearia a decisão sobre isso.

Eu principalmente vi pessoas usando SSDs para seus TEMPDBs. 2005 e em colocar muito mais dependência do TEMPDB, em seguida, versões anteriores. E, dependendo do que você está executando no seu SQL Server, ele pode ser o banco de dados mais utilizado (olhando para você no SharePoint).

Mas primeiro eu começo olhando para o seu ambiente e vendo o que está acontecendo lá.

HTH, Dan

    
por 13.12.2010 / 21:54
3

Paul Randal tem uma série de benchmarking SSD:

A partir de sua conclusão, o ponto ideal para SSDs são os intensos carregamentos aleatórios de E / S, o que os tornaria candidatos a Data ou Tempdb. Qual é o melhor, depende dos seus dados específicos de carga esperados. Eu procuraria em sys.dm_io_virtual_file_stats e sys.dm_db_index_usage_stats em um servidor existente que manipula a mesma carga (ou mesmo tipo de carga) e veja onde a pressão de IO para MDF / NDF se acumula e coloque esses arquivos nos SSDs.

LOGs não fazem muito sentido no SSD, um array SCSI típico irá superá-los em gravações sequenciais. Nem o SO, um host do SQL Server nunca deve tocar nos arquivos do SO nem no arquivo de paginação.

    
por 15.12.2010 / 19:34
2

Aquele em que o acesso aleatório de leitura e gravação será executado e, geralmente, em um host do banco de dados que seja a partição de dados (e os dados do tempdb). A partição de log, por sua vez, normalmente só é acessada sequencialmente, pois a maioria dos logs são buffers circulares.

As partições do sistema operacional suportadas por um SSD fornecem mais benefícios se você planeja reinicializar seu servidor com bastante frequência.

    
por 13.12.2010 / 19:11
2

Complicado - depende do que é feito.

  • Registros. Sim, eles são sequenciais, mas eles também são liberados a cada gravação, então os tempos curtos de turno podem ser desagradáveis. Escrever bancos de dados pesados SÃO velocidade limitada pelo desempenho do log. Não é tanto o MB / S, mas o rápido retorno de uma gravação de 2-3 mb que pode dar um impulso aqui.
  • Dados. Leia pesado. Não para 2, mas se você executar um pesado RAID 10, o maior orçamento de IO pode significar que você poderia substituir o RAID 10 por um RAID 5 ... e ainda assim ser mais rápido. Isso pode ser um preço interessante.

Qualquer coisa entre ou não ser extremo em ambos os lados - um SSD é provavelmente um desperdício de dinheiro.

    
por 13.12.2010 / 21:24
1

Também depende do tipo de RAID definido nas unidades SSD. Se for o RAID 10, os arquivos de log e o banco de dados tempdb serão mais bem armazenados nos SSDs, pois os logs e o tempdb são usados principalmente para operações de gravação e o RAID 10 oferece o melhor desempenho de gravação. Ocasionalmente, após o Checkpoint, você verá a atividade Ler nos arquivos de registro. Se contrariamente, é o RAID 5 do que os arquivos de dados são melhor armazenados no SSD, uma vez que o RAID 5 é otimizado mais para a atividade de leitura. Se você tem armazenamento suficiente em SSDs, você também pode instalar o sistema operacional em SSDs. Mas o fato que realmente importa é isolar os dados dos arquivos de log e, se possível, também do Tempdb.

Além disso, uma análise muito boa feita por Paul Randal é este blog . Fiquei realmente impressionado com a forma como ele detalhou sua análise, apresentando vários casos possíveis.

    
por 14.12.2010 / 09:44
0

Você poderia argumentar que ter o arquivo de paginação do Windows em um espelho SSD separado ajudaria. Dito isto, a melhor maneira de melhorar o desempenho de paginação é não ter paginação. Fora isso, não há grande quantidade de E / S aleatório com o volume de inicialização / sistema.

    
por 13.12.2010 / 20:11