Microsoft Azure är en av de mest populära molnleverantörerna i världen och en naturlig passform för databasvärd på applikationer som utnyttjar Microsoft i hela sin infrastruktur. MySQL är den främsta databasen med öppen källkod som vanligtvis är värd genom Azure-instanser. Även om Microsoft erbjuder sin egen Azure Database-produkt, finns det andra tillgängliga alternativ som kan hjälpa dig att förbättra din MySQL-prestanda. I det här blogginlägget jämför vi Azure Database for MySQL vs. ScaleGrid MySQL på Azure så att du kan se vilken leverantör som erbjuder bäst genomströmning och latensprestanda. Vi mäter latens i ms 95:e percentilens latens.
En överblick – TLDR | ||||||
---|---|---|---|---|---|---|
|
Börjar du precis? Kolla in inlägget Det bästa sättet att vara värd för MySQL på Azure Cloud för att lära dig mer om hur du optimerar din molndatabasdistribution.
MySQL Azure Performance Benchmark
I den här benchmarkrapporten jämför vi MySQL-hosting på Azure på ScaleGrid vs. Azure Database för MySQL över dessa tre scenarier för arbetsbelastning:
- Läsintensiv arbetsbelastning:80 % läser och 20 % skriver
- Balanserad arbetsbelastning:50 % läser och 50 % skriver
- Skriv intensiv arbetsbelastning:20 % läser och 80 % skriver
Vi mäter MySQL-genomströmningen och latensprestanda, och mäter genomströmningen i termer av frågor per sekund (QPS) och latens i termer av 95:e percentilen (ms). Kolla in avsnittet Benchmark Configuration under resultatrapporten för att se hur dessa tester konfigurerades.
MySQL läsintensiv prestanda
MySQL läsintensiva arbetsbelastningar är arbetsbelastningar som vanligtvis domineras av läsoperationer, såsom SELECT. Så en läsintensiv arbetsbelastning skulle vara en som söker igenom databasen oftare än att skriva till den. Percona har ett bra inlägg om läsintensiva kontra skrivintensiva arbetsbelastningar där du kan lära dig mer.
Låt oss ta en titt på genomströmnings- och latensprestanda för ScaleGrid MySQL vs. Azure Database for MySQL:
Genomströmning
Trådar | 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 från ovanstående graf och prestandatabell uppnår ScaleGrid MySQL upp till 3 gånger högre genomströmning b> jämfört med Azure Database för läsintensiva arbetsbelastningar. Medan Azure Database for MySQL-genomströmningen är under 3 000 frågor per sekund i alla trådscenarier, har ScaleGrid över 5 000-9 000 frågor per sekund i trådar. |
Latens
Trådar | 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 % |
Medan Azure Database for MySQL-latens snabbt ökar när antalet trådar växer, uppnår ScaleGrid MySQL stadigt låg latens över alla trådantal . I genomsnitt har ScaleGrid för MySQL 66 % lägre latens än Azure Database för MySQL för läsintensiva arbetsbelastningsscenarier. |
Minska din #MySQL-latens med 66 % på Azure, med upp till 3 gånger högre genomströmningsprestandaKlicka för att tweeta
MySQL Balanced Workload Performance
Balanserade arbetsbelastningar utnyttjar ungefär lika stora mängder läs- och skrivoperationer.
Genomströmning
Trådar | 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 genomsnitt förbättrade ScaleGrid MySQL-genomströmningen med 150 % jämfört med Azure Database för MySQL för balanserade arbetsbelastningar och är över två gånger bättre över alla antal trådar. Azure Database maxade med cirka 2 775 frågor per sekund vid 150 trådar, medan ScaleGrid uppnådde 5 724 frågor per sekund för samma antal trådar. |
Latens
Trådar | 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 ytterligare en dramatisk förbättring av latensprestanda för balanserade arbetsbelastningar, där ScaleGrid MySQL-distributioner kan prestera mindre än en tredjedel av latensen jämfört med Azure Database for MySQL. |
MySQL skrivintensiv prestanda
Medan läsoperationer söker från databasen, är skrivoperationer de som sparar till eller modifierar databasen, såsom INSERT, UPDATE eller DELETE-frågor. Skrivintensiva arbetsbelastningar är vanligtvis dyrare än läsintensiva arbetsbelastningar eftersom verksamheten förbrukar mer resurser. Låt oss jämföra ScaleGrid vs. Azure Database-genomströmning och latensprestanda över MySQL-skrivintensiva arbetsbelastningar.
Genomströmning
Trådar | 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 vårt skrivintensiva scenario kan vi se den största prestandaförbättringen där ScaleGrid uppnår upp till 4x högre genomströmning jämfört med Azure Database . Detta är särskilt uppenbart i våra scenarier med låg tråd, men även vid 175 trådar presterar ScaleGrid fortfarande 2,5 gånger bättre än Azure Database. |
Latens
Trådar | 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 överträffade Azure Database igen med ett genomsnitt på 64 % lägre latens över alla antal trådar för skrivintensiva arbetsbelastningar. |
Som vi kan se från ovanstående rapporter hjälper ScaleGrid dig att avsevärt öka din genomströmning och minska din latens mot Azure Database-distributioner för MySQL över läsintensiva, skrivintensiva och balanserade arbetsbelastningar scenarier. Om du vill veta mer om hur dessa två leverantörer jämför mellan funktioner, kolla in ScaleGrid vs. Azure Database MySQL-sidan.
Benchmark-konfigurationer
Låt oss ta en titt på konfigurationerna vi använde i prestandabenchmark:
Konfigurationsjämförelse
Vi utformade konfigurationen med de mest jämförbara planerna som erbjuds mellan ScaleGrid och Azure Database. Det finns bara mindre skillnader och kostnaderna är desamma för de två leverantörerna:
ScaleGrid MySQL på Azure | Azure Database for MySQL | |
---|---|---|
Instanstyp | Dedikerad Large:Standard_Ds2_v2 2 kärnor | Allmänt syfte:2 kärnor |
RAM | 7 GB | 10 GB (5 GB minne per vCore) |
SSD | 128 GB, Premium SSD-disk, 500 IOPS | 167 GB, upp till 500 IOPS |
Typ av distribution | 2+1 kvorum med semisynkron replikering | +1 Läs Replika Asynkron replikering |
Region | Östra USA | Östra USA |
Support | Ingår | Standardplan (100 USD) |
Uppskattat månadspris | 400 $ | 400 $ |
Sysbench-konfiguration
Konfiguration | Detaljer |
---|---|
Verktyg | Sysbench version 1.0.20 |
Värd | Standard_Ds2_v2 2 kärnor (2 vcpus, 7 GB minne) i regionen östra USA |
# tabeller | 100 |
# rader per tabell | 2 000 000 |
Slumptalsfördelning | Special |
MySQL-serverkonfiguration
Konfiguration | Azure Scalegrid (dedikerad) | Azure DB for 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 |
Observera att på ScaleGrid har du avancerade alternativ för att anpassa dina MySQL-konfigurationer. Detta gör att du kan anpassa din distribution till dina applikationsbehov och optimera för prestanda. Tyvärr tillåter inte Azure Database anpassning av vissa av parametrarna, så du har fastnat med standardkonfigurationerna som är tillgängliga via deras plattform.
Vi kunde till exempel anpassa InnoDB-loggfilens storlek till 1 GB, medan detta för Azure Database inte kan ändras och har ett standardvärde på 268M. Läs mer om begränsningarna i Azure Database for MySQL.
Det finns många andra fördelar med att använda Scalegrid MySQL för Azure, kolla in den fullständiga jämförelsen på vår ScaleGrid vs. Azure Database – MySQL Hosting-sida.