sql >> Database >  >> RDS >> Mysql

MySQL op Azure Performance Benchmark – ScaleGrid vs. Azure Database

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

Leesintensieve werkbelasting

Tijdens leesintensieve workloads slaagt ScaleGrid erin om tot 3 keer hogere doorvoer te bereiken en gemiddeld 66% betere latentie in vergelijking met Azure Database. Lees nu

Gebalanceerde werkbelasting

Met een gemiddeld 150% betere doorvoer en minder dan een derde van de latentie presteert ScaleGrid beter dan Azure Database for Balanced Workloads. Lees nu

Schrijfintensieve werkbelasting

Scalegrid behaalt tot 4 keer hogere doorvoer en gemiddeld 64% lagere latentie over alle threads in vergelijking met Azure Database for MySQL. Lees nu

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.


  1. Hoe kan ik een 'versienummer'-kolom in het algemeen sorteren met behulp van een SQL Server-query

  2. SQL - Update meerdere records in één query

  3. Go en IN-clausule in Postgres

  4. Gloednieuwe productiedatabase