Microsoft Azure is een van de meest populaire cloudproviders ter wereld en past perfect bij het hosten van databases op applicaties die gebruikmaken van Microsoft in hun infrastructuur. MySQL is de nummer één open source-database die vaak wordt gehost via Azure-instanties. Hoewel Microsoft hun eigen Azure Database-product aanbiedt, zijn er andere alternatieven beschikbaar die u mogelijk kunnen helpen uw MySQL-prestaties te verbeteren. In deze blogpost vergelijken we Azure Database for MySQL met ScaleGrid MySQL op Azure, zodat u kunt zien welke provider de beste doorvoer- en latentieprestaties biedt. We meten latentie in ms 95e percentiel latentie.
In één oogopslag – TLDR | ||||||
---|---|---|---|---|---|---|
|
Ben je net begonnen? Bekijk De beste manier om MySQL op Azure Cloud te hosten voor meer informatie over het optimaliseren van uw clouddatabase-implementatie.
MySQL Azure-prestatiebenchmark
In dit benchmarkrapport vergelijken we MySQL-hosting op Azure op ScaleGrid versus Azure Database for MySQL in deze drie werkbelastingscenario's:
- Leesintensieve werkbelasting:80% leest en 20% schrijft
- Gebalanceerde werklast:50% leest en 50% schrijft
- Schrijfintensieve werkbelasting:20% leest en 80% schrijft
We meten de MySQL-doorvoer en latentieprestaties en meten de doorvoer in termen van query's per seconde (QPS) en latentie in termen van 95e percentiel (ms). Bekijk ons gedeelte Benchmarkconfiguratie onder het prestatierapport om te zien hoe deze tests zijn geconfigureerd.
MySQL leesintensieve prestaties
MySQL-leesintensieve workloads zijn workloads die doorgaans worden gedomineerd door leesbewerkingen, zoals SELECT. Een leesintensieve werklast zou er dus een zijn die de database vaker doorzoekt in plaats van ernaar te schrijven. Percona heeft een geweldige post over leesintensieve versus schrijfintensieve workloads waar u meer kunt leren.
Laten we eens kijken naar de doorvoer- en latentieprestaties van ScaleGrid MySQL versus Azure Database for MySQL:
Doorvoer
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
25 | 5299 | 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% |
Zoals we kunnen zien in de bovenstaande grafiek en prestatietabel, bereikt ScaleGrid MySQL tot 3x hogere doorvoer b> vergeleken met Azure Database voor leesintensieve workloads. Terwijl de doorvoer van Azure Database for MySQL in alle threadscenario's onder de 3.000 query's per seconde ligt, heeft ScaleGrid meer dan 5.000-9.000 query's per seconde in alle threads. |
Latentie
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
25 | 258 | 451 | -43% |
50 | 101 | 670 | -85% |
100 | 148 | 978 | -85% |
150 | 309 | 1562 | -80% |
175 | 1089 | 1.678 | -35% |
Terwijl de latentie van Azure Database for MySQL snel toeneemt naarmate het aantal threads groeit, bereikt ScaleGrid MySQL gestaag een lage latentie voor alle threads . ScaleGrid voor MySQL heeft gemiddeld 66% lagere latentie dan Azure Database voor MySQL voor leesintensieve werkbelastingscenario's. |
Verminder uw #MySQL-latentie met 66% op Azure, met tot 3 keer hogere doorvoerprestaties Klik om te tweeten
MySQL gebalanceerde workloadprestaties
Gebalanceerde workloads maken gebruik van ongeveer gelijke hoeveelheden lees- en schrijfbewerkingen.
Doorvoer
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
25 | 3.806 | 1.748 | 118% |
50 | 5.834 | 2.437 | 139% |
100 | 6365 | 2.712 | 135% |
150 | 5,724 | 2.775 | 106% |
175 | 6.206 | 1.767 | 251% |
Gemiddeld verbeterde ScaleGrid de MySQL-doorvoer met 150% ten opzichte van Azure Database voor MySQL voor evenwichtige workloads, en is meer dan 2x beter over alle threads. Azure Database bereikte een maximum van ongeveer 2.775 query's per seconde bij 150 threads, terwijl ScaleGrid 5724 query's per seconde bereikte voor hetzelfde aantal threads. |
Latentie
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
25 | 76 | 390 | -81% |
50 | 103 | 612 | -83% |
100 | 240 | 943 | -75% |
150 | 560 | 1.590 | -65% |
175 | 560 | 2.199 | -75% |
We zien nog een dramatische verbetering in latentieprestaties voor evenwichtige workloads, waar ScaleGrid MySQL-implementaties kunnen presteren op minder dan een derde van de latentie vergeleken met Azure Database for MySQL. |
MySQL schrijfintensieve prestaties
Terwijl leesbewerkingen zoeken in de database, zijn schrijfbewerkingen die bewerkingen die de database opslaan of wijzigen, zoals INSERT-, UPDATE- of DELETE-query's. Schrijfintensieve werkbelastingen zijn doorgaans duurder dan leesintensieve werkbelastingen, omdat de bewerkingen meer bronnen verbruiken. Laten we ScaleGrid vergelijken met de doorvoer- en latentieprestaties van Azure Database voor schrijfintensieve MySQL-workloads.
Doorvoer
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
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% |
In ons schrijfintensieve scenario kunnen we de grootste prestatieverbetering zien waar ScaleGrid tot 4x behaalt hogere doorvoer vergeleken met Azure Database . Dit is vooral duidelijk in onze low-thread scenario's, maar zelfs bij 175 threads presteert ScaleGrid nog steeds 2,5x beter dan Azure Database. |
Latentie
Draden | ScaleGrid | Azure | ScaleGrid-verbetering |
---|---|---|---|
25 | 76 | 277 | -73% |
50 | 101 | 383 | -74% |
100 | 298 | 996 | -70% |
150 | 760 | 1.740 | -56% |
175 | 1089 | 2.009 | -46% |
ScaleGrid presteerde opnieuw beter dan Azure Database met een gemiddelde van 64% lagere latentie over alle threads voor schrijfintensieve werkbelastingen. |
Zoals we kunnen zien in de bovenstaande rapporten, helpt ScaleGrid u om uw doorvoer aanzienlijk te verhogen en uw latentie te verminderen ten opzichte van Azure Database-implementaties voor MySQL voor leesintensieve, schrijfintensieve en gebalanceerde workloads scenario's. Bekijk de ScaleGrid vs. Azure Database MySQL-pagina om meer te weten te komen over hoe deze twee providers verschillende functies met elkaar vergelijken.
Benchmarkconfiguraties
Laten we eens kijken naar de configuraties die we in de prestatiebenchmark hebben gebruikt:
Configuratievergelijking
We hebben de configuratie ontworpen met behulp van de meest vergelijkbare abonnementen die worden aangeboden tussen ScaleGrid en Azure Database. Er zijn slechts kleine verschillen en de kosten zijn hetzelfde voor de twee providers:
ScaleGrid MySQL op Azure | Azure Database for MySQL | |
---|---|---|
Exemplaartype | Dedicated Large:Standard_Ds2_v2 2 cores | Algemeen doel:2 cores |
RAM | 7GB | 10 GB (5 GB geheugen per vCore) |
SSD | 128 GB, Premium SSD-schijf, 500 IOPS | 167 GB, tot 500 IOPS |
implementatietype | 2+1 Quorum met semisynchrone replicatie | +1 Read Replica Asynchrone replicatie |
Regio | VS-oost | VS-oost |
Ondersteuning | Inbegrepen | Standaardabonnement ($ 100) |
Geschatte maandelijkse prijs | $400 | $400 |
Sysbench-configuratie
Configuratie | Details |
---|---|
Tool | Sysbench versie 1.0.20 |
Host | Standard_Ds2_v2 2 cores (2 vcpus, 7GB geheugen) in regio VS-Oost |
# tabellen | 100 |
# Rijen per tabel | 2.000.000 |
Willekeurige getallenverdeling | Speciaal |
MySQL-serverconfiguratie
Configuratie | Azure Scalegrid (speciaal) | Azure DB voor MySQL |
---|---|---|
SQL-versie | 5.7.25 | 5.7.27 |
innodb_buffer_pool_size | 4G | 7,5G |
innodb_log_file_size | 1G | 268M |
innodb_io_capacity | 500 | 500 |
innodb_io_capacity_max | 1000 | 1000 |
Merk op dat je bij ScaleGrid geavanceerde opties hebt om je MySQL-configuraties aan te passen. Hierdoor kunt u uw implementatie aanpassen aan uw toepassingsbehoeften en optimaliseren voor prestaties. Helaas staat Azure Database het aanpassen van sommige parameters niet toe, dus je zit vast met de standaardconfiguraties die beschikbaar zijn via hun platform.
We waren bijvoorbeeld in staat om de grootte van het InnoDB-logboekbestand aan te passen tot 1 GB, terwijl dit voor Azure Database niet kan worden gewijzigd en een standaardwaarde van 268M heeft. Meer informatie over de beperkingen in Azure Database for MySQL.
Er zijn veel andere voordelen van het gebruik van Scalegrid MySQL voor Azure, bekijk de volledige vergelijking op onze ScaleGrid vs. Azure Database – MySQL Hosting-pagina.