Como fizemos overclock em um cluster para bancos de dados Microsoft SQL carregados e recebemos os cobiçados 200.000 IOPS

No ano passado, aumentamos ativamente o desempenho de bancos de dados grandes e pesados ​​em nossa nuvem. Ă€ primeira vista, parecia que tĂ­nhamos apenas 2 opções: sistemas de armazenamento baratos com discos lentos ou sistemas de armazenamento muito caros com discos rápidos. 





QuerĂ­amos agilizar o trabalho de bancos de dados Microsoft SQL altamente carregados e, ao mesmo tempo, oferecer aos nossos clientes um custo de serviço favorável. Como resultado dos testes, montamos a solução " Cluster para bancos de dados Microsoft SQL carregados na nuvem ". Hoje vamos dar uma olhada no interior e adicionar um pouco mais de introdução tĂ©cnica e nĂşmeros especĂ­ficos. 





A postagem nĂŁo pretende ser um mergulho profundo e nĂŁo revela todas as nuances tĂ©cnicas, mas apenas demonstra os resultados de nossos testes. Vou mostrar a vocĂŞ em que hardware, software e configuração de rede executamos os testes de desempenho do banco de dados, como os testamos e quais resultados obtivemos. 





:

. : 





  • - 1U. - - 2U, "" . 1U : .  





  • 10 U.2. NVM. , .  





  • Intel Optane DC Persistent Memory





  • Hardware compatibility list (HCL) Microsoft – .









Supermicro 1029U-TN10RT:





, - 1U, 2 Intel Xeon Scalable. 





:





- – Ultra 1U SYS-1029U-TN10RT.





- CPU – 2 x Intel Xeon Gold 6246 (3.3GHz, 12C).





- Storage – 10 x Intel DC P4510 1TB NVMe SSD, 1DWPD.





- DRAM – 12 x 64GB DDR4-2666.





- Persistent Memory – 2 x 128GB DDR4-2666 Intel Optane DC PMMs.





- Network – 2 x 25GbE Mellanox ConnectX-4 Lx.





2,5 NVMe: 10 U.2.





. Windows Server 2019 Storage Spaces Direct. RAID – . 





. . 3-way Mirroring, 3 . 





– StorageRack. , . , . 





. . . RDMA – . Mellanox ConnectX-4 Lx c RoCEv2 (RDMA over Converged Ethernet).





Graças a RoCE, descarregamos o transporte e o processador.  Tirei a foto do Mellanox.
RoCE . Mellanox.

:  

. VMFleet Microsoft, FIO.





. "" . 150 c "" 40 GB, 50 . – 4:1, CPU – 60%. – 3, 3 TB .





.





CPU Oversubscription 4:1





Pattern: t1, o32, b16k





Metrics





100% Random Read





90% Random Read/ 10% Random Write





70% Random Read/ 30% Random Write





IOPS per Volume





475000





275000





169000





Latency per Volume





0,2 ms





0,2 ms / 0,4 ms





0,2 ms / 0,4 ms





BW (MB/s) per Volume





7750





4500





2750





IOPS per VM





9500





5500





3380





BW (MB/s) per VM





155





90





55





IOPS per GB





237





137





84





Pattern: t1, o32, b4k





Metrics





100% Random Read





90% Random Read/ 10% Random Write





70% Random Read/ 30% Random Write





IOPS per Volume





509000





282000





190000





Latency per Volume





0,12 ms





0,12 ms / 0,33 ms





0,13 ms / 0,36 ms





BW (MB/s) per Volume





2000





1150





780





IOPS per VM





10180





5640





3800





BW (MB/s) per VM





40





23





15





IOPS per GB





254





112





76





Pattern: t1, o32, b2m





Metrics





100% Sequential Read





BW (MB/s) per Volume





19000





BW (MB/s) per VM





380





. , , . 2:1 ( 25 ), CPU . : 100% 4 4 16 . .





Vemos que os atrasos na leitura do Lat sĂŁo bastante baixos.
, Read Lat .

FIO , .





DBaaS Microsoft SQL . 4 200 000 IOPS 1 100% 4k.





Windows Server 2019 Storage Spaces Direct. !








All Articles