Akcelerace a optimalizace výkonu
Pochopení možností zrychlení a optimalizace výkonu pro Azure SQL je klíčem k dalšímu zajištění konzistentního výkonu. Je třeba porozumět tomu, jak škálovat kapacitu procesorů, zvýšit výkon V/V, konfigurovat paměť a pracovní procesy, zlepšit latenci aplikací a používat standardní osvědčené postupy pro optimalizaci SQL Serveru.
Škálování kapacity procesorů
Abyste vyhověli požadavkům na prostředky, budete možná muset škálovat počet procesorů. V případě místního prostředí by to vyžadovalo, abyste překonfigurovali virtuální počítač, změnili hardware a dokonce i migrovali databázi. Azure SQL to umožňuje udělat bez migrace. Pomocí portálu, T-SQL, Azure CLI nebo rozhraní REST API můžete pro vaše nasazení škálovat virtuální jádra nahoru nebo dolů.
Prostoj je většinou nutný, ale pro Azure SQL Database bez migrace může být výpadek velmi krátký. U nasazení Hyperscale (Hyperškálování) můžete škálovat nahoru za konstantní dobu bez ohledu na velikost dat. Nasazení Serverless (Bezserverové) umožňuje automatické škálování na základě poptávky na procesory.
Poznámka:
Škálování služby Azure SQL Managed Instance může trvat dlouho, ale nevyžaduje žádnou migraci.
Výkon V/V
Výkon V/V může být pro databázovou aplikaci rozhodující. Azure SQL abstrahuje od fyzického umístění souborů, ale existují metody, které vám umožní zajistit, abyste získali potřebný výkon V/V.
Pro vaši aplikaci může být důležitý počet vstupních a výstupních operací za sekundu (IOPS). Ujistěte se, že jste pro potřeby IOPS zvolili správnou úroveň služby a virtuální jádra. Pokud migrujete do Azure, měli byste vědět, jak v místním prostředí měřit IOPS pro dotazy. Pokud máte pro IOPS nějaká omezení, může docházet k dlouhým čekáním na V/V. V nákupním modelu virtuálních jader můžete vertikálně navýšit kapacitu virtuálních jader nebo přejít na Pro důležité obchodní informace nebo Hyperscale, pokud nemáte dostatek IOPS. U produkčních úloh při použití DTU doporučujeme přejít na úroveň Premium.
Další klíčovou komponentou pro výkon V/V je latence V/V. Abyste zmenšili latenci V/V pro Azure SQL Database, zvažte úroveň Pro důležité obchodní informace nebo Hyperscale (Hyperškálování). Abyste zmenšili latenci V/V pro spravovanou instanci SQL, přejděte na úroveň Pro důležité obchodní informace nebo zvětšete velikost nebo počet souborů pro databázi. Zlepšení latence transakčního protokolu může vyžadovat použití transakcí s více úrovněmi.
Navýšení paměti nebo pracovních procesů
Dostatek paměti a pracovních procesů může být pro vaše aplikace a nasazení důležitý. Pro Azure SQL Database škálujte nahoru virtuální jádra, abyste dosáhli vyšších limitů paměti nebo pracovních procesů. Pro spravovanou instanci SQL škálujte nahoru virtuální jádra, abyste dosáhli vyšších limitů paměti. Spravovaná instance SQL v současné době podporuje také navýšení pracovních procesů nastavením „max worker threads“.
Zlepšení latence aplikací
I když nasazení nakonfigurujete pro všechny předpokládané požadavky na prostředky, aplikace můžou způsobit výkonové problémy s latencí. U aplikací SQL Azure proto dodržujte tyto osvědčené postupy:
- Místo proxy používejte typ připojení s přesměrováním.
- Optimalizujte „výřečné“ aplikace použitím uložených procedur nebo omezením počtu cest do dotazu a zpět pomocí technik, jako jsou dávky.
- Optimalizujte transakce jejich seskupováním – nepoužívejte jednotlivé transakce.
Optimalizace jako u SQL Serveru
Azure SQL je stále SQL Server. Téměř nikdy neexistuje jiná možnost, než optimalizovat dotazy SQL Serveru a řídit se následujícími pokyny:
- Navrhujte správně indexy.
- Používejte dávky.
- Používejte uložené procedury.
- Parametrizace dotazů, aby se zabránilo příliš velkému počtu ad hoc dotazů uložených v mezipaměti
- Zpracování výsledků v aplikaci rychle a správně
V dalším cvičení použijete problém s výkonem z prvního cvičení a vylepšíte ho škálováním procesorů pro Azure SQL.