Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL sur Azure Performance Benchmark – ScaleGrid par rapport à la base de données Azure

Microsoft Azure est l'un des fournisseurs de cloud les plus populaires au monde, et un choix naturel pour l'hébergement de bases de données sur les applications tirant parti de Microsoft dans leur infrastructure. MySQL est la base de données open source numéro un généralement hébergée via des instances Azure. Bien que Microsoft propose son propre produit Azure Database, il existe d'autres alternatives disponibles qui peuvent vous aider à améliorer vos performances MySQL. Dans cet article de blog, nous comparons Azure Database pour MySQL et ScaleGrid MySQL sur Azure afin que vous puissiez voir quel fournisseur offre les meilleures performances de débit et de latence. Nous mesurons la latence en ms de latence au 95e centile.

En un coup d'œil – TLDR

Charges de travail intensives en lecture

Pendant les charges de travail intensives en lecture, ScaleGrid parvient à atteindre un débit jusqu'à 3 fois plus élevé et une latence moyenne de 66 % supérieure à celle d'Azure Database. Lire maintenant

Charges de travail équilibrées

Avec un débit moyen supérieur de 150 % et moins d'un tiers de la latence, ScaleGrid surpasse Azure Database pour les charges de travail équilibrées. Lire maintenant

Charges de travail intensives en écriture

Scalegrid atteint un débit jusqu'à 4 fois plus élevé et une latence moyenne de 64 % inférieure sur tous les nombres de threads par rapport à Azure Database pour MySQL. Lire maintenant

Vous débutez ? Consultez la publication The Best Way to Host MySQL on Azure Cloud pour en savoir plus sur l'optimisation du déploiement de votre base de données cloud.

Analyse comparative des performances MySQL Azure

Dans ce rapport de référence, nous comparons l'hébergement MySQL sur Azure chez ScaleGrid et Azure Database pour MySQL dans ces trois scénarios de charge de travail :

  • Charge de travail intensive en lecture :80 % de lectures et 20 % d'écritures
  • Charge de travail équilibrée :50 % de lectures et 50 % d'écritures
  • Charge de travail intensive en écriture :20 % de lectures et 80 % d'écritures

Nous mesurons les performances de débit et de latence de MySQL, et mesurons le débit en termes de requêtes par seconde (RPS) et la latence en termes de 95e centile (ms). Consultez notre section Configuration des tests de performance sous le rapport de performances pour voir comment ces tests ont été configurés.

Performances MySQL en lecture intensive

Les charges de travail intensives en lecture de MySQL sont des charges de travail qui sont généralement dominées par des opérations de lecture, telles que SELECT. Ainsi, une charge de travail intensive en lecture serait celle qui recherche la base de données plus souvent que celle qui y écrit. Percona a un excellent article sur les charges de travail intensives en lecture et en écriture où vous pouvez en savoir plus.

Examinons les performances de débit et de latence de ScaleGrid MySQL par rapport à Azure Database pour MySQL :

Débit

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 5 299 1 689 214 %
50 6 092 2 302 165 %
100 8 429 2 877 193 %
150 9 011 2 870 214 %
175 7 025 2 805 151 %
Comme nous pouvons le voir sur le graphique ci-dessus et le tableau des performances, ScaleGrid MySQL atteint un débit jusqu'à 3 fois plus élevé par rapport à Azure Database pour les charges de travail intensives en lecture. Alors que le débit d'Azure Database pour MySQL est inférieur à 3 000 requêtes par seconde dans tous les scénarios de threads, ScaleGrid a plus de 5 000 à 9 000 requêtes par seconde dans les threads.

Latence

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 258 451 -43 %
50 101 670 -85 %
100 148 978 -85 %
150 309 1562 -80 %
175 1 089 1 678 -35 %
Alors que la latence d'Azure Database pour MySQL augmente rapidement à mesure que le nombre de threads augmente, ScaleGrid MySQL atteint régulièrement une faible latence sur tous les nombres de threads . En moyenne, ScaleGrid pour MySQL a une latence inférieure de 66 % à Azure Database pour MySQL pour les scénarios de charge de travail intensive en lecture.

Réduisez votre latence #MySQL de 66 % sur Azure, avec des performances de débit jusqu'à 3 fois supérieuresClick To Tweet

Performances de la charge de travail équilibrée MySQL

Les charges de travail équilibrées exploitent des quantités à peu près égales d'opérations de lecture et d'écriture.

Débit

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 3 806 1 748 118 %
50 5 834 2 437 139 %
100 6 365 2 712 135 %
150 5 724 2 775 106 %
175 6 206 1 767 251 %
En moyenne, ScaleGrid a amélioré le débit MySQL de 150 % par rapport à la base de données Azure pour MySQL pour des charges de travail équilibrées, et est plus de 2 fois mieux à travers tout le nombre de threads. Azure Database a atteint un maximum d'environ 2 775 requêtes par seconde à 150 threads, tandis que ScaleGrid a atteint 5 724 requêtes par seconde pour le même nombre de threads.

Latence

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 76 390 -81 %
50 103 612 -83 %
100 240 943 -75 %
150 560 1 590 -65 %
175 560 2 199 -75 %
Nous constatons une autre amélioration spectaculaire des performances de latence pour les charges de travail équilibrées, où les déploiements ScaleGrid MySQL peuvent fonctionner à moins plus d'un tiers de la latence par rapport à Azure Database pour MySQL.

Performances intensives en écriture MySQL

Alors que les opérations de lecture effectuent une recherche dans la base de données, les opérations d'écriture sont celles qui enregistrent ou modifient la base de données, telles que les requêtes INSERT, UPDATE ou DELETE. Les charges de travail intensives en écriture sont généralement plus coûteuses que les charges de travail intensives en lecture, car les opérations consomment plus de ressources. Comparons les performances de débit et de latence de ScaleGrid à celles d'Azure Database sur les charges de travail intensives en écriture MySQL.

Débit

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 3 327 826 303 %
50 5 003 1 154 334 %
100 5 180 1 476 251 %
150 4 310 1 651 161 %
175 4 071 1 643 148 %
Dans notre scénario d'écriture intensive, nous sommes en mesure de constater la plus grande amélioration des performances où ScaleGrid atteint jusqu'à 4x débit plus élevé par rapport à la base de données Azure . Cela est particulièrement évident dans nos scénarios à faible thread, mais même à 175 threads, ScaleGrid fonctionne toujours 2,5 fois mieux qu'Azure Database.

Latence

Fils ScaleGrid Azur Amélioration de ScaleGrid
25 76 277 -73 %
50 101 383 -74 %
100 298 996 -70 %
150 760 1 740 -56 %
175 1 089 2 009 -46 %
ScaleGrid a de nouveau surpassé la base de données Azure avec une moyenne de 64 % de latence inférieure sur l'ensemble du nombre de threads pour les charges de travail intensives en écriture.

Comme nous pouvons le voir dans les rapports ci-dessus, ScaleGrid vous aide à augmenter considérablement votre débit et à réduire votre latence par rapport aux déploiements de base de données Azure pour MySQL sur des charges de travail intensives en lecture, en écriture et équilibrées. scénarios. Pour en savoir plus sur la façon dont ces deux fournisseurs se comparent entre les fonctionnalités, consultez la page ScaleGrid vs. Azure Database MySQL.

Configurations de référence

Regardons les configurations que nous avons utilisées dans le benchmark des performances :

Comparaison des configurations

Nous avons conçu la configuration en utilisant les plans les plus comparables proposés entre ScaleGrid et Azure Database. Il n'y a que des différences mineures et les coûts sont les mêmes pour les deux fournisseurs :

ScaleGrid MySQL sur Azure Base de données Azure pour MySQL
Type d'instance Dédié grand :Standard_Ds2_v2 2 cœurs Usage général :2 cœurs
RAM 7 Go 10 Go (5 Go de mémoire par vCore)
SSD 128 Go, disque SSD Premium, 500 IOPS 167 Go, jusqu'à 500 IOPS
Type de déploiement Quorum 2+1 avec réplication semi-synchrone +1 réplication asynchrone en lecture
Région Est des États-Unis Est des États-Unis
Assistance Inclus Plan standard (100 $)
Prix mensuel estimé 400 $ 400 $

Configuration Sysbench

Configuration Détails
Outil Sysbench version 1.0.20
Hôte Standard_Ds2_v2
2 cœurs (2 vcpu, 7 Go de mémoire) sur la région Est des États-Unis
# tableaux 100
# lignes par tableau 2 000 000
Répartition des nombres aléatoires Spécial

Configuration du serveur MySQL

Configuration Azure Scalegrid (dédié) Azure DB pour MySQL
Version SQL 5.7.25 5.7.27
innodb_buffer_pool_size 4G 7,5 G
innodb_log_file_size 1G 268M
innodb_io_capacity 500 500
innodb_io_capacity_max 1000 1000

Notez que chez ScaleGrid, vous disposez d'options avancées pour personnaliser vos configurations MySQL. Cela vous permet de personnaliser votre déploiement en fonction des besoins de votre application et d'optimiser les performances. Malheureusement, Azure Database ne permet pas la personnalisation de certains paramètres, vous êtes donc bloqué avec les configurations par défaut disponibles via leur plate-forme.

Par exemple, nous avons pu personnaliser la taille du fichier journal InnoDB à 1 Go alors que pour la base de données Azure, cela ne peut pas être modifié et a une valeur par défaut de 268 Mo. En savoir plus sur les limitations d'Azure Database pour MySQL.

L'utilisation de Scalegrid MySQL pour Azure présente de nombreux autres avantages. Consultez la comparaison complète sur notre page ScaleGrid vs Azure Database - Hébergement MySQL.