Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A lekérdezéstárat számos olyan forgatókönyvben használhatja, amelyekben a kiszámítható számítási feladatok teljesítményének nyomon követése és fenntartása kritikus fontosságú. Tekintse az alábbi példákat:
- Drága lekérdezések azonosítása és finomhangolása.
- A/B tesztelést végezhet.
- Improvizált számítási feladatok azonosítása és fejlesztése.
Drága lekérdezések azonosítása és finomhangolása
Hosszú ideig futó lekérdezések azonosítása
A kiszolgáló adatbázisának azure_sys lekérdezéstárnézeteivel gyorsan azonosíthatja a leghosszabb ideig futó lekérdezéseket. Ezek a lekérdezések általában a legtöbb erőforrást fogyasztják. A leghosszabb ideig futó lekérdezések optimalizálása javíthatja a teljesítményt azáltal, hogy felszabadítja a rendszeren futó más lekérdezések által használt erőforrásokat.
A teljesítménybeli eltérésekkel rendelkező lekérdezések célként való megcélzása
A lekérdezéstár időablakokba szeleteli a teljesítményadatokat, így nyomon követheti a lekérdezések teljesítményét. Ez segít pontosan meghatározni, hogy mely lekérdezések járulnak hozzá a teljes idő növekedéséhez. Ennek eredményeképpen hatókörön belüli hibaelhárítást végezhet a számítási feladaton.
Drága lekérdezések hangolása
Ha egy optimálisnál alacsonyabb teljesítményű lekérdezést azonosít, a művelet a probléma jellegétől függ. Néhány ilyen művelet a következő lehet:
- Győződjön meg arról, hogy a statisztikák naprakészek a lekérdezés által használt alapul szolgáló táblákhoz.
- Fontolja meg a drága lekérdezések újraírását. Használja ki például a lekérdezésparaméterezés előnyeit, és csökkentse az alkalmi SQL használatát. Optimális logikát valósíthat meg az adatok olvasása során, például adatszűrés alkalmazása adatbázisoldalon, alkalmazásoldali helyett.
A/B-tesztelés végrehajtása
A lekérdezéstár használatával összehasonlíthatja a számítási feladatok teljesítményét a bevezetésre tervezett alkalmazásmódosítások előtt és után, illetve az áttelepítés előtt és után. Példaforgatókönyvek a lekérdezéstár használatával a számítási feladatok teljesítményének változásainak hatásának felméréséhez:
- Migrálás a PostgreSQL főverziói között.
- Az alkalmazás új verziójának bevezetése.
- A kiszolgálónak biztosított erőforrások mennyiségének módosítása.
- A kiszolgáló viselkedését befolyásoló kiszolgálóparaméterek módosítása.
- Hiányzó indexek létrehozása drága lekérdezések által hivatkozott táblákon.
Az alábbi forgatókönyvek bármelyikében alkalmazza a következő munkafolyamatot:
- Futtassa a számítási feladatot a lekérdezéstárral a tervezett módosítás előtt a teljesítménykonfiguráció létrehozásához.
- A kívánt módosításokat egy szabályozott időpontban alkalmazza.
- Folytassa a számítási feladat futtatását a megfelelő idő alatt, hogy a módosítás után tisztán láthassa a rendszer teljesítményét.
- Hasonlítsa össze a módosítás előtti és utáni eredményeket.
- Döntse el, hogy megtartja-e a módosítást, vagy visszaállítja azt.
Improvizált számítási feladatok azonosítása és fejlesztése
Egyes számítási feladatok nem rendelkeznek domináns lekérdezésekkel, amelyeket az alkalmazás általános teljesítményének javítása érdekében hangolhat. Ezeket a számítási feladatokat általában viszonylag nagy számú egyedi lekérdezés jellemzi, amelyek mindegyike a rendszererőforrások egy részét használja fel. A rendszer minden egyedi lekérdezést ritkán hajt végre, így a futtatókörnyezet-használatuk nem kritikus fontosságú. Másrészt, mivel az alkalmazás folyamatosan új lekérdezéseket hoz létre, a rendszererőforrások jelentős részét a lekérdezések fordítására fordítják, ami nem optimális. Ez a helyzet általában akkor fordul elő, ha az alkalmazás lekérdezéseket hoz létre (tárolt eljárások vagy paraméteres lekérdezések használata helyett), vagy ha az alapértelmezés szerint lekérdezéseket generáló objektum-relációs leképezési keretrendszerekre támaszkodik.
Ha ön felügyeli az alkalmazáskódot, érdemes lehet újraírni az adatelérési réteget tárolt eljárások vagy paraméteres lekérdezések használatára. Ez a helyzet azonban alkalmazásmódosítások nélkül is javítható, ha a lekérdezésparaméterezést a teljes adatbázisra (az összes lekérdezésre) vagy az azonos lekérdezéskivonattal rendelkező egyes lekérdezéssablonokra kényszeríti.