Ladění výkonu
Návrh indexů databáze
Indexy jsou nejsilnější zásah do databáze: dobře zvolený složený index změní několikaminutové reporty na milisekundy, zatímco špatný jen zatíží každý zápis. Profesionální návrh vychází ze skutečných vzorů dotazů, respektuje pravidlo levého prefixu a redukuje stejně agresivně, jako přidává.
Klíčové body
- Navrhujte z slow-logu a inventáře dotazů aplikace, ne z odhadů.
- Stavějte složené indexy s respektem k levému prefixu a pořadí selektivity.
- Upřednostněte pokrývající indexy pro nejhorkější čtecí cesty.
- Čtvrtletně odstraňujte duplicitní, nadbytečné a nikdy nepoužité indexy.
- Počítejte s amplifikací zápisů: každý index zatěžuje INSERT, UPDATE a DELETE.
- Používejte prefixové a částečné indexy tam, kde úplné plýtvají prostorem.
- Ověřujte pomocí EXPLAIN před a po; plány musí prokázat přínos.
- Zdokumentujte důvod každého indexu, aby budoucí vývojáři neodstranili indexy, na kterých vše stojí.
Časté dotazy
Znamená více indexů rychleji, správně?
Ne, čtení získávají, zápisy platí. Uměním je minimální množina, která pokryje horké cesty.
Jak najdete nepoužité indexy?
Statistikami z performance_schema za celé obchodní cykly, poté postupné odstranění s návratem.
Co se pokazí nejčastěji?
Indexy na jednom sloupci pro podmínky na více sloupcích a chybějící indexy za náhlým růstem.
Mění ORM přístup?
Skrývají dotazy, ne náklady; sledujeme výstup ORM až ke stejné analýze.
Jak Kinetikatech pomáhá s ladění výkonu
Nemusíte se stát odborníkem na ladění výkonu: Ladění serveru, optimalizace databází, cache a práce na rychlosti rozhraní, které zkracují doby načtení a náklady na hosting. Přesně proto existuje Optimalizace rychlosti webu a Správa serverů: zprovoznění, zpevnění, monitoring a člověk ve službě dnem i nocí.