Microsoft Azure er en af de mest populære cloud-udbydere i verden og en naturlig pasform til databasehosting på applikationer, der udnytter Microsoft på tværs af deres infrastruktur. MySQL er den største open source-database, der normalt hostes gennem Azure-instanser. Mens Microsoft tilbyder deres eget Azure Database-produkt, er der andre tilgængelige alternativer, som muligvis kan hjælpe dig med at forbedre din MySQL-ydeevne. I dette blogindlæg sammenligner vi Azure Database for MySQL vs. ScaleGrid MySQL på Azure, så du kan se, hvilken udbyder der tilbyder den bedste gennemløbs- og latencyydelse. Vi måler latens i ms 95. percentil latency.
Et overblik – TLDR | ||||||
---|---|---|---|---|---|---|
|
Er du lige kommet i gang? Tjek den bedste måde at hoste MySQL på Azure Cloud-indlægget for at lære mere om optimering af din cloud-databaseimplementering.
MySQL Azure Performance Benchmark
I denne benchmark-rapport sammenligner vi MySQL-hosting på Azure på ScaleGrid vs. Azure Database til MySQL på tværs af disse tre arbejdsbelastningsscenarier:
- Læse-intensiv arbejdsbyrde:80 % læser og 20 % skriver
- Balanceret arbejdsbyrde:50 % læser og 50 % skriver
- Skrive-intensiv arbejdsbyrde:20 % læser og 80 % skriver
Vi måler MySQL-gennemløbet og latensydelsen og måler gennemløbet i form af forespørgsler per sekund (QPS) og latens i form af 95. percentil (ms). Se vores Benchmark-konfigurationssektion under ydeevnerapporten for at se, hvordan disse tests blev konfigureret.
MySQL læseintensiv ydeevne
MySQL læseintensive arbejdsbelastninger er arbejdsbelastninger, der typisk er domineret af læseoperationer, såsom SELECT. Så en læseintensiv arbejdsbyrde ville være en, der søger i databasen oftere i forhold til at skrive til den. Percona har et godt indlæg om læse- og skriveintensive arbejdsbelastninger, hvor du kan lære mere.
Lad os tage et kig på gennemløbs- og latensydelsen af ScaleGrid MySQL vs. Azure Database for MySQL:
Throughput
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
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 % |
Som vi kan se fra ovenstående graf og præstationstabel, opnår ScaleGrid MySQL op til 3x højere gennemløb b> sammenlignet med Azure Database for læseintensive arbejdsbelastninger. Mens Azure Database for MySQL-gennemløbet er under 3.000 forespørgsler pr. sekund på tværs af alle trådscenarier, har ScaleGrid over 5.000-9.000 forespørgsler pr. sekund på tværs af tråde. |
Latens
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
25 | 258 | 451 | -43 % |
50 | 101 | 670 | -85 % |
100 | 148 | 978 | -85 % |
150 | 309 | 1562 | -80 % |
175 | 1.089 | 1.678 | -35 % |
Mens Azure Database for MySQL-latens hurtigt stiger, efterhånden som antallet af tråde vokser, opnår ScaleGrid MySQL støt lav latens på tværs af alle trådtællinger . I gennemsnit har ScaleGrid til MySQL 66 % lavere latenstid end Azure Database for MySQL til scenarier med læseintensiv arbejdsbelastning. |
Reducer din #MySQL-forsinkelse med 66 % på Azure med op til 3 gange højere gennemløbsydelseKlik for at tweete
MySQL Balanced Workload Performance
Balancerede arbejdsbelastninger udnytter nogenlunde lige store mængder af læse- og skriveoperationer.
Throughput
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
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 % |
I gennemsnit forbedrede ScaleGrid MySQL-gennemstrømningen med 150 % i forhold til Azure Database til MySQL for afbalancerede arbejdsbelastninger og er over 2 gange bedre på tværs af alle antal tråde. Azure Database nåede maksimalt ud på omkring 2.775 forespørgsler pr. sekund ved 150 tråde, mens ScaleGrid opnåede 5.724 forespørgsler pr. sekund for det samme antal tråde. |
Latens
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
25 | 76 | 390 | -81 % |
50 | 103 | 612 | -83 % |
100 | 240 | 943 | -75 % |
150 | 560 | 1.590 | -65 % |
175 | 560 | 2.199 | -75 % |
Vi ser endnu en dramatisk forbedring af latency-ydelsen for afbalancerede arbejdsbelastninger, hvor ScaleGrid MySQL-implementeringer er i stand til at yde mindre end en tredjedel af latensen sammenlignet med Azure Database til MySQL. |
MySQL skriveintensiv ydeevne
Mens læseoperationer søger fra databasen, er skriveoperationer dem, der gemmer til eller ændrer databasen, såsom INSERT, UPDATE eller DELETE-forespørgsler. Skrivetunge arbejdsbelastninger er typisk dyrere end læseintensive arbejdsbelastninger, da operationerne bruger flere ressourcer. Lad os sammenligne ScaleGrid vs. Azure Database-gennemstrømnings- og latensydelse på tværs af MySQL skriveintensive arbejdsbelastninger.
Throughput
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
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 % |
I vores skrivetunge scenarie er vi i stand til at se den største ydeevneforbedring, hvor ScaleGrid opnår op til 4x højere gennemløb sammenlignet med Azure Database . Dette er især tydeligt i vores scenarier med lav tråd, men selv ved 175 tråde klarer ScaleGrid stadig 2,5 gange bedre end Azure Database. |
Latens
Tråde | ScaleGrid | Azure | ScaleGrid Improvement |
---|---|---|---|
25 | 76 | 277 | -73 % |
50 | 101 | 383 | -74 % |
100 | 298 | 996 | -70 % |
150 | 760 | 1.740 | -56 % |
175 | 1.089 | 2.009 | -46 % |
ScaleGrid overgik Azure Database igen med et gennemsnit på 64 % lavere latenstid på tværs af alle antallet af tråde til skrivetunge arbejdsbelastninger. |
Som vi kan se fra ovenstående rapporter, hjælper ScaleGrid dig med at øge din gennemstrømning betydeligt og reducere din latenstid i forhold til Azure Database-implementeringer til MySQL på tværs af læseintensive, skriveintensive og balancerede arbejdsbelastninger scenarier. For at lære mere om, hvordan disse to udbydere sammenligner på tværs af funktioner, kan du se siden ScaleGrid vs. Azure Database MySQL.
Benchmark-konfigurationer
Lad os tage et kig på de konfigurationer, vi brugte i ydeevnebenchmark:
Konfigurationssammenligning
Vi designede konfigurationen ved at bruge de mest sammenlignelige planer, der tilbydes mellem ScaleGrid og Azure Database. Der er kun mindre forskelle, og omkostningerne er de samme for de to udbydere:
ScaleGrid MySQL på Azure | Azure Database for MySQL | |
---|---|---|
Forekomsttype | Dedikeret Large:Standard_Ds2_v2 2 kerner | Generelt formål:2 kerner |
RAM | 7 GB | 10 GB (5 GB hukommelse pr. vCore) |
SSD | 128 GB, Premium SSD-disk, 500 IOPS | 167 GB, op til 500 IOPS |
Implementeringstype | 2+1 kvorum med semisynkron replikering | +1 Læs replika asynkron replikering |
Region | Østlige USA | Østlige USA |
Support | Inkluderet | Standardplan ($100) |
Anslået månedlig pris | 400 $ | 400 $ |
Sysbench-konfiguration
Konfiguration | Detaljer |
---|---|
Værktøj | Sysbench version 1.0.20 |
Vært | Standard_Ds2_v2 2 kerner (2 vcpu'er, 7 GB hukommelse) i region øst i USA |
# tabeller | 100 |
# rækker pr. tabel | 2.000.000 |
fordeling af tilfældige tal | Special |
MySQL-serverkonfiguration
Konfiguration | Azure Scalegrid (dedikeret) | Azure DB til MySQL |
---|---|---|
SQL-version | 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 |
Bemærk, at du hos ScaleGrid har avancerede muligheder for at tilpasse dine MySQL-konfigurationer. Dette giver dig mulighed for at tilpasse din implementering til dine applikationsbehov og optimere til ydeevne. Desværre tillader Azure Database ikke tilpasning af nogle af parametrene, så du sidder fast med standardkonfigurationerne, der er tilgængelige via deres platform.
For eksempel var vi i stand til at tilpasse InnoDB-logfilstørrelsen til 1 GB, hvorimod denne for Azure Database ikke kan ændres og har en standardværdi på 268M. Lær mere om begrænsningerne i Azure Database til MySQL.
Der er mange andre fordele ved at bruge Scalegrid MySQL til Azure. Se hele sammenligningen på vores ScaleGrid vs. Azure Database – MySQL Hosting-side.