Cómo overclockeamos un clúster para bases de datos Microsoft SQL cargadas y recibimos las codiciadas 200,000 IOPS

El año pasado, asumimos activamente el rendimiento de bases de datos grandes y pesadas en nuestra nube. A primera vista, parecía que solo teníamos 2 opciones: sistemas de almacenamiento económicos con discos lentos o sistemas de almacenamiento muy costosos con discos rápidos. 





Queríamos acelerar el trabajo de bases de datos Microsoft SQL altamente cargadas y al mismo tiempo ofrecer a nuestros clientes un costo favorable del servicio. Como resultado de las pruebas, hemos ensamblado la solución " Cluster para bases de datos Microsoft SQL cargadas en la nube ". Hoy echaremos un vistazo al interior y agregaremos un poco más de introducción técnica y números específicos. 





La publicación no pretende ser un análisis profundo y no revela todos los matices técnicos, sino que solo demuestra los resultados de nuestras pruebas. Le mostraré en qué hardware, software y configuración de red ejecutamos las pruebas de rendimiento de la base de datos, cómo la probamos y qué resultados obtuvimos. 





Condiciones problemáticas: cómo comprobar el rendimiento de la base de datos

Cómo se eligió el hardware para el clúster . Al principio, buscamos servidores con las siguientes características: 





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





Gracias a RoCE, descargamos el transporte y el procesador.  Tomé la foto 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 . .





Vemos que los retrasos de Read Lat son bastante bajos.
, Read Lat .

FIO , .





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





Windows Server 2019 Storage Spaces Direct. !








All Articles