sql >> Databáze >  >> RDS >> Mysql

MySQL na Azure Performance Benchmark – ScaleGrid vs. Azure Database

Microsoft Azure je jedním z nejpopulárnějších poskytovatelů cloudu na světě a přirozeně se hodí pro hostování databází v aplikacích využívajících Microsoft v celé jejich infrastruktuře. MySQL je open source databáze číslo jedna, která je běžně hostována prostřednictvím instancí Azure. Přestože Microsoft nabízí svůj vlastní produkt Azure Database, jsou k dispozici další alternativy, které vám mohou pomoci zlepšit výkon MySQL. V tomto příspěvku na blogu porovnáváme Azure Database for MySQL a ScaleGrid MySQL v Azure, abyste viděli, který poskytovatel nabízí nejlepší propustnost a výkon latence. Latenci měříme v ms 95. percentilu latence.

Na první pohled – TLDR

Úlohy náročné na čtení

Během zátěže náročné na čtení dokáže ScaleGrid dosáhnout až 3krát vyšší propustnosti a v průměru o 66 % lepší latence ve srovnání s Azure Database. Přečtěte si nyní

Vyvážené pracovní zatížení

S průměrně o 150 % lepší propustností a méně než jednou třetinou latence ScaleGrid překonává Azure Database for Balanced Workloads. Přečtěte si nyní

Úlohy náročné na psaní

Scalegrid dosahuje až 4krát vyšší propustnosti a v průměru o 64 % nižší latence napříč všemi vlákny ve srovnání s Azure Database for MySQL. Přečtěte si nyní

Jste na začátku? Podívejte se na příspěvek Nejlepší způsob hostování MySQL v Azure Cloud, kde se dozvíte více o optimalizaci nasazení cloudové databáze.

Srovnání výkonu MySQL Azure

V této srovnávací zprávě porovnáváme hostování MySQL v Azure na ScaleGrid vs. Azure Database for MySQL v těchto třech scénářích zátěže:

  • Intenzivní zátěž pro čtení:80 % čtení a 20 % zápisů
  • Vyvážená pracovní zátěž:50 % čtení a 50 % zápisů
  • Pracovní zátěž náročná na zápis:20 % čtení a 80 % zápis

Měříme propustnost a latenci MySQL a měříme propustnost z hlediska dotazů za sekundu (QPS) a latenci z hlediska 95. percentilu (ms). Podívejte se na naši sekci Konfigurace srovnávacích testů pod zprávou o výkonu, abyste viděli, jak byly tyto testy nakonfigurovány.

Výkon při intenzivním čtení MySQL

Úlohy náročné na čtení MySQL jsou pracovní zátěže, kterým obvykle dominují operace čtení, jako je SELECT. Takže zátěž náročná na čtení by byla taková, která prohledává databázi častěji než zápis do ní. Percona má skvělý příspěvek o pracovní zátěži náročné na čtení vs. zápis, kde se můžete dozvědět více.

Pojďme se podívat na propustnost a latenci ScaleGrid MySQL vs. Azure Database for MySQL:

Propustnost

Vlákna ScaleGrid Azurová Vylepšení 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 %
Jak můžeme vidět z výše uvedeného grafu a tabulky výkonu, ScaleGrid MySQL dosahuje až 3x vyšší propustnosti ve srovnání s Azure Database pro úlohy náročné na čtení. Zatímco propustnost Azure Database for MySQL je nižší než 3 000 dotazů za sekundu ve všech scénářích vláken, ScaleGrid má přes 5 000–9 000 dotazů za sekundu napříč vlákny.

Latence

Vlákna ScaleGrid Azurová Vylepšení ScaleGrid
25 258 451 -43 %
50 101 670 -85 %
100 148 978 -85 %
150 309 1562 -80 %
175 1 089 1 678 -35 %
Zatímco latence Azure Database for MySQL rychle roste s rostoucím počtem vláken, ScaleGrid MySQL stabilně dosahuje nízké latence napříč všemi počty vláken. . ScaleGrid pro MySQL má v průměru o 66 % nižší latenci než Azure Database pro MySQL pro scénáře zátěže náročné na čtení.

Snižte latenci #MySQL o 66 % v Azure s až 3krát vyšší propustnostíClick To Tweet

Vyvážený výkon zátěže MySQL

Vyvážená pracovní zátěž využívá zhruba stejný počet operací čtení a zápisu.

Propustnost

Vlákna ScaleGrid Azurová Vylepšení 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 %
V průměru ScaleGrid zlepšil propustnost MySQL o 150 % oproti Azure Database pro MySQL pro vyvážené pracovní zatížení a je více než 2x lepší napříč celým počtem vláken. Azure Database dosáhla maximální rychlosti přibližně 2 775 dotazů za sekundu při 150 vláknech, zatímco ScaleGrid dosáhla 5 724 dotazů za sekundu pro stejný počet vláken.

Latence

Vlákna ScaleGrid Azurová Vylepšení ScaleGrid
25 76 390 -81 %
50 103 612 -83 %
100 240 943 -75 %
150 560 1 590 -65 %
175 560 2 199 -75 %
Vidíme další dramatické zlepšení výkonu latence u vyvážených pracovních zátěží, kde nasazení ScaleGrid MySQL dokáže fungovat s nižší než jedna třetina latence ve srovnání s Azure Database for MySQL.

Výkon MySQL náročný na zápis

Zatímco operace čtení prohledávají v databázi, operace zápisu jsou ty, které ukládají nebo upravují databázi, jako jsou dotazy INSERT, UPDATE nebo DELETE. Úlohy náročné na zápis jsou obvykle dražší než úlohy náročné na čtení, protože operace spotřebovávají více zdrojů. Pojďme porovnat ScaleGrid vs. propustnost databáze Azure a výkon latence v rámci úloh náročných na zápis do MySQL.

Propustnost

Vlákna ScaleGrid Azurová Vylepšení 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 %
V našem scénáři náročném na zápis jsme schopni zaznamenat největší zlepšení výkonu tam, kde ScaleGrid dosahuje až 4x vyšší propustnost ve srovnání s Azure Database . To je zvláště patrné v našich scénářích s nízkým vláknem, ale i při 175 vláknech ScaleGrid stále funguje 2,5x lépe než Azure Database.

Latence

Vlákna ScaleGrid Azurová Vylepšení 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 opět překonal Azure Database s průměrem o 64 % nižší latencí napříč všemi vlákny pro zátěže náročné na zápis.

Jak je vidět z výše uvedených přehledů, ScaleGrid vám pomáhá výrazně zvýšit propustnost a snížit latenci oproti nasazení Azure Database pro MySQL v rámci náročných úloh náročných na čtení, zápis a vyvážených úloh. scénáře. Další informace o srovnání těchto dvou poskytovatelů napříč funkcemi najdete na stránce ScaleGrid vs. Azure Database MySQL.

Srovnávací konfigurace

Pojďme se podívat na konfigurace, které jsme použili v benchmarku výkonu:

Porovnání konfigurací

Konfiguraci jsme navrhli pomocí nejsrovnatelnějších plánů nabízených mezi ScaleGrid a Azure Database. Existují pouze drobné rozdíly a náklady jsou u obou poskytovatelů stejné:

ScaleGrid MySQL v Azure Azure Database for MySQL
Typ instance Vyhrazená velká:Standard_Ds2_v2 2 jádra Obecné použití:2 jádra
RAM 7 GB 10 GB (5 GB paměti na vCore)
SSD 128 GB, prémiový SSD disk, 500 IOPS 167 GB, až 500 IOPS
Typ nasazení Kvorum 2+1 se semisynchronní replikací +1 pro čtení repliky asynchronní replikace
Region Východ USA Východ USA
Podpora V ceně Standardní tarif (100 $)
Odhadovaná měsíční cena 400 $ 400 $

Konfigurace Sysbench

Konfigurace Podrobnosti
Nástroj Sysbench verze 1.0.20
Hostitel Standard_Ds2_v2
2 jádra (2 vcpus, 7 GB paměti) v regionu východní USA
# tabulky 100
# Řádky na tabulku 2 000 000
Rozdělení náhodných čísel Speciální

Konfigurace serveru MySQL

Konfigurace Azure Scalegrid (Dedicated) Azure DB pro MySQL
Verze SQL 5.7.25 5.7.27
innodb_buffer_pool_size 4G 7,5G
innodb_log_file_size 1G 268 milionů
innodb_io_capacity 500 500
innodb_io_capacity_max 1000 1000

Všimněte si, že ve ScaleGrid máte pokročilé možnosti přizpůsobení konfigurací MySQL. To vám umožní přizpůsobit vaše nasazení potřebám vaší aplikace a optimalizovat výkon. Azure Database bohužel neumožňuje přizpůsobení některých parametrů, takže jste uvízli u výchozích konfigurací dostupných prostřednictvím jejich platformy.

Například jsme byli schopni přizpůsobit velikost souboru protokolu InnoDB na 1 GB, zatímco pro Azure Database to nelze upravit a má výchozí hodnotu 268 MB. Přečtěte si další informace o omezeních v Azure Database for MySQL.

Používání ScaleGrid MySQL pro Azure má mnoho dalších výhod. Podívejte se na úplné srovnání na naší stránce ScaleGrid vs. Azure Database – Hosting MySQL.


  1. Tři výhry výkonu Easy SQL Server

  2. Jak převést desítkové na šestnáctkové pomocí TO_CHAR() v Oracle

  3. SQLSTATE[HY000] [2002] Pokus o připojení se nezdařil.. - Při pokusu o připojení z místního ke vzdálenému serveru

  4. Převeďte celé číslo na hex a hex na celé číslo