Comment nous avons overclocké un cluster pour les bases de données Microsoft SQL chargées et avons reçu les 200000 IOPS convoités

Au cours de l'année écoulée, nous avons activement repris les performances de bases de données volumineuses et lourdes dans notre cloud. À première vue, il semblait que nous n'avions que 2 options: des systèmes de stockage bon marché avec des disques lents ou des systèmes de stockage très coûteux avec des disques rapides. 





Nous voulions accélérer le travail des bases de données Microsoft SQL très chargées et en même temps offrir à nos clients un coût de service avantageux. Suite aux tests, nous avons assemblé la solution « Cluster pour les bases de données Microsoft SQL chargées dans le cloud ». Aujourd'hui, nous allons jeter un coup d'œil à l'intérieur et ajouter un peu plus d'introduction technique et des numéros spécifiques. 





Le message ne prétend pas être une plongée profonde et ne révèle pas toutes les nuances techniques, mais ne démontre que les résultats de nos tests. Je vais vous montrer sur quelle configuration matérielle, logicielle et réseau nous avons effectué les tests de performance de la base de données, comment nous l'avons testé et quels résultats nous avons obtenus. 





:

. : 





  • - 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).





Grâce à RoCE, nous déchargons le transport et le processeur.  J'ai pris la photo de 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 . .





Nous voyons que les délais Read Lat sont assez faibles.
, Read Lat .

FIO , .





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





Windows Server 2019 Storage Spaces Direct. !








All Articles