Migrace místního MySQL do služby Azure Database for MySQL: Optimalizace
Optimalizace databází MySQL po migraci z místních prostředí do Služby Azure Database for MySQL je nezbytná pro maximalizaci výkonu a efektivity. Tento článek popisuje klíčové strategie a osvědčené postupy pro optimalizaci databází v prostředí Azure. Můžete zajistit, aby vaše databáze fungovaly ve špičce tím, že se zaměříte na výkon dotazů, indexování, přidělení prostředků a ladění konfigurace. Tato příručka poskytuje přehledy a techniky potřebné k identifikaci a řešení kritických bodů výkonu, použití pokročilých funkcí Azure a dosažení optimálního výkonu databáze. Bez ohledu na to, jestli se snažíte zlepšit dobu odezvy, zlepšit škálovatelnost nebo snížit provozní náklady, tento článek vám poskytne znalosti k optimalizaci databází MySQL v Azure.
Požadavky
Migrace místního MySQL do služby Azure Database for MySQL: Post Migration Management
Monitorování výkonu hardwaru a dotazů
Kromě protokolů auditu a aktivit je možné výkon serveru monitorovat také pomocí metrik Azure. Metriky Azure se poskytují v minutové frekvenci a výstrahy se dají nakonfigurovat z nich. Další informace najdete v tématu Monitorování ve službě Azure Database for MySQL pro konkrétní typy metrik, které je možné monitorovat.
Jak jsme už zmínili, monitorování metrik, jako jsou cpu_percent nebo memory_percent, může být důležité při rozhodování o upgradu databázové vrstvy. Konzistentně vysoké hodnoty můžou značit, že je nutný upgrade úrovně.
Kromě toho, pokud se zdá, že příčinou problému není procesor a paměť, můžou správci zkoumat možnosti založené na databázích, jako je indexování a úpravy dotazů pro dotazy s nízkým výkonem.
Pokud chcete najít dotazy s nízkým výkonem, spusťte následující příkaz:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName\_s,
event\_class\_s, start\_time\_t , q uery\_time\_d,
sql\_text\_s| top 5 by query\_time\_d desc
Query Performance Insight
Kromě základních aspektů monitorování serveru poskytuje Azure nástroje pro monitorování výkonu dotazů aplikací. Oprava nebo vylepšení dotazů může vést k významnému zvýšení propustnosti dotazu. Pomocí nástroje Query Performance Insight můžete analyzovat nejdéle spuštěné dotazy a určit, jestli je možné tyto položky ukládat do mezipaměti, pokud jsou deterministické v nastaveném období, nebo upravit dotazy, aby se zvýšil jejich výkon.
Můžete slow\_query\_log
nastavit, aby se v souborech protokolů MySQL zobrazovaly pomalé dotazy (výchozí hodnota je VYPNUTÁ). Parametr long\_query\_time
serveru může uživatele na dlouhou dobu upozorňovat (výchozí hodnota je 10 sekund).
Upgrade úrovně
Azure Portal lze použít ke škálování mezi a General Purpose
Memory Optimized
. Pokud je vybraná Basic
úroveň, není možnost upgradovat úroveň na General Purpose
úroveň nebo Memory Optimized
novější. K provedení migrace nebo upgradu na novou instanci Azure Database for MySQL je ale možné využít další techniky.
Příklad skriptu, který migruje ze základní na jinou vrstvu serveru, odkazuje na úroveň Upgrade z úrovně Basic na úroveň Pro obecné účely nebo Optimalizováno pro paměť ve službě Azure Database for MySQL.
Škálování serveru
V rámci této úrovně je možné škálovat jádra a paměť na minimální a maximální limity povolené v této vrstvě. Pokud monitorování ukazuje nepřetržitý limit procesoru nebo paměti, postupujte podle kroků pro vertikální navýšení kapacity podle vašich požadavků.
Přesun oblastí
Přesun databáze do jiné oblasti Azure závisí na přístupu a architektuře. V závislosti na přístupu to může způsobit výpadky systému.
Doporučený postup je stejný jako použití replik pro čtení pro převzetí služeb při selhání údržby. V porovnání s výše uvedenou metodou plánované údržby je však rychlost převzetí služeb při selhání rychlejší, když je v aplikaci implementovaná vrstva převzetí služeb při selhání. Během procesu převzetí služeb při selhání repliky pro čtení by aplikace měla být během procesu převzetí služeb při selhání jen na chvíli. Další podrobnosti najdete v části Provozní kontinuita a zotavení po havárii.
Scénář WWI
Podniková a aplikační uživatelé WWI vyjádřili vysokou úroveň nadšení ohledně schopnosti škálovat databázi na vyžádání. Také se zajímali o použití nástroje Query Performance Insight k určení, jestli je potřeba řešit výkon dlouhotrvajících dotazů.
Rozhodli se využít server repliky pro čtení pro všechny potenciální scénáře převzetí služeb při selhání nebo jen pro čtení.
Migrační tým, který spolupracuje s inženýry Azure, nastavil dotazy KQL pro monitorování potenciálních problémů s výkonem serveru MySQL. Dotazy KQY byly nastaveny s upozorněními na problémy s e-mailovými událostmi pro databázový a konferenční tým.
V případě potřeby se rozhodli monitorovat případné problémy a v případě potřeby implementovat runbooky Azure Automation, aby se zlepšila provozní efektivita.
Kontrolní seznam pro optimalizaci
Monitorujte pomalé dotazy.
Pravidelně kontrolujte řídicí panel Performance Insight.
Využijte monitorování pro zvýšení úrovně a rozhodování o škálování.
Zvažte přesun oblastí uživatelů nebo aplikací, které potřebují změnit.