Megosztás a következőn keresztül:


Használati forgatókönyvek a lekérdezéstárhoz

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:

  1. 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.
  2. A kívánt módosításokat egy szabályozott időpontban alkalmazza.
  3. 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.
  4. Hasonlítsa össze a módosítás előtti és utáni eredményeket.
  5. 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.