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 Microsoft Fabric API for GraphQL hatékony módot kínál az adatok hatékony lekérdezésére, de a teljesítményoptimalizálás kulcsfontosságú a zökkenőmentes és méretezhető teljesítmény biztosításához. Akár összetett lekérdezéseket kezel, akár a válaszidőt optimalizálja, az alábbi ajánlott eljárások segítenek a Legjobb teljesítmény eléréséhez a GraphQL-implementációból, és maximalizálni az API hatékonyságát a Fabricben.
Kinek van szüksége teljesítményoptimalizálásra
A teljesítményoptimalizálás kulcsfontosságú a következő célokhoz:
- Az alkalmazásfejlesztők nagy forgalmú alkalmazásokat készítenek, amelyek a Fabric lakehouse-okat és a raktárakat kérdezik le
- Az adatmérnökök optimalizálják a Fabric adathozzáférési mintáit nagy léptékű elemzési alkalmazásokhoz és ETL-folyamatokhoz
- Fabric munkaterület rendszergazdái kezelik a kapacitásfelhasználást és biztosítják az erőforrások hatékony kihasználását
- A Fabric-adatokra épülő egyéni elemzési alkalmazások válaszidejének javítása bi-fejlesztők számára
- A DevOps-csapatok elhárítják a Fabric API-kat használó éles alkalmazások késési problémáit
Ezeket az ajánlott eljárásokat akkor használja, ha a GraphQL API-nak hatékonyan kell kezelnie az éles számítási feladatokat, vagy teljesítményproblémákat tapasztal.
Régió igazítása
A régiók közötti API-hívások gyakori oka a nagy késésnek. Az optimális teljesítmény érdekében győződjön meg arról, hogy az ügyfélalkalmazások, a Fabric-bérlő, a kapacitás és az adatforrások ugyanabban az Azure-régióban találhatók.
Ellenőrizze a bérlő régióját
A Fabric-bérlő régiójának megkeresése:
- Bejelentkezés a Microsoft Fabric portálra rendszergazdai fiókkal
- Válassza a súgó ikont (?) a jobb felső sarokban
- A Súgó panel alján válassza az About Fabric lehetőséget
- Figyelje meg a bérlő adatai között megjelenő régiót
A kapacitásrégió ellenőrzése
A GraphQL-hez készült API egy adott kapacitáson belül fut. A kapacitásrégió megkeresése:
Nyissa meg azt a munkaterületet, amely a GraphQL API-t tárolja.
Ugrás a Munkaterület beállításai>munkaterülettípusra
A régió megkeresése a licenckapacitás alatt
Az adatforrás régiójának ellenőrzése
Az adatforrások helye a teljesítményre is hatással van:
- Háló adatforrások (Lakehouse, Data Warehouse, SQL Database): Ezek ugyanazt a régiót használják, mint a munkaterület kapacitása
- Külső adatforrások (Azure SQL Database stb.): Ellenőrizze az erőforrás helyét az Azure Portalon
Ajánlott eljárás: Az ügyfélalkalmazások üzembe helyezése ugyanabban a régióban, mint a Fabric-kapacitás és az adatforrások a hálózati késés minimalizálása érdekében.
Ajánlott teljesítménytesztelési eljárások
Az API teljesítményének kiértékelésekor kövesse ezeket az irányelveket a megbízható és konzisztens eredmények érdekében.
Reális teszteszközök használata
Teszteljen olyan eszközökkel, amelyek szorosan illeszkednek az éles környezethez.
- Szkriptek vagy alkalmazások: Python-, Node.js- vagy .NET-szkriptek használata, amelyek az ügyfél tényleges viselkedését szimulálják
- HTTP-kapcsolatkészletezés: HTTP-kapcsolatok újrafelhasználása a késés csökkentése érdekében, különösen a régiók közötti forgatókönyvek esetében fontos
- Munkamenet-kezelés: Munkamenetek fenntartása kérések között a valós használati adatok pontos tükrözése érdekében
Mintaerőforrások:
- Teljesítménytesztelési példaszkript (Python-jegyzetfüzet)
- HTTP-munkamenet-objektumok a Pythonban
- HttpClient-irányelvek a .NET-hez
Hasznos metrikák gyűjtése
A pontos teljesítményértékeléshez:
- Tesztelés automatizálása: Szkriptek vagy teljesítménytesztelő eszközök használata a tesztek konzisztens futtatásához egy meghatározott időszakban
- Az API bemelegítése: Több teszt lekérdezés végrehajtása a teljesítmény mérése előtt (lásd a bemelegítési követelményeket)
- Eloszlások elemzése: Használjon percentilisalapú metrikákat (P50, P95, P99) az átlagok helyett a késési minták megértéséhez
- Terhelés alatti tesztelés: Teljesítmény mérése valós egyidejű kérelemkötetekkel
- Dokumentumfeltételek: A napidő, a kapacitáskihasználtság és az egyidejű számítási feladatok rögzítése a tesztelés során
Gyakori teljesítményproblémák
Ezeknek a gyakori problémáknak a megismerése segít a teljesítményproblémák hatékony diagnosztizálásában és megoldásában.
Bemelegítési követelmények
Probléma: Az első API-kérés jelentősen tovább tart, mint a későbbi kérések.
Miért történik ez:
- API-inicializálás: Tétlen állapotban az API-környezetnek inicializálnia kell az első hívás során, és hozzá kell adni néhány másodperces késést
- Adatforrás-bemelegítés: Számos adatforrás (különösen az SQL Analytics-végpontok és adattárházak) bemelegítési fázisban van, amikor inaktív állapotba kerülnek
- Kombinált inicializálás: Ha az API és az adatforrás is tétlen, az inicializálási idő összetett
Solution:
- 2-3 teszt lekérdezés végrehajtása a teljesítmény mérése előtt
- Éles alkalmazások esetén olyan állapot-ellenőrzési végpontokat implementáljon, amelyek melegen tartják az API-t
- Fontolja meg az ütemezett lekérdezések vagy monitorozási eszközök használatát az aktív állapot munkaidőben való fenntartásához
Regionális eltérés
Probléma: Következetesen nagy késés az összes kérés esetében.
Ennek oka: A régiók közötti hálózati hívások jelentős késést eredményeznek, különösen akkor, ha az ügyfél, az API és az adatforrások különböző Azure-régiókban találhatók.
Solution:
- Ellenőrizze, hogy az ügyfélalkalmazás, a hálókapacitás és az adatforrások ugyanabban a régióban vannak-e
- Ha a régiók közötti hozzáférés elkerülhetetlen, alkalmazzon agresszív gyorsítótárazási stratégiákat
- Fontolja meg regionális API-replikák üzembe helyezését globális alkalmazásokhoz
Adatforrás teljesítménye
Probléma: Az API-kérések lassúak akkor is, ha az API be van melegítve, és a régiók igazodnak.
Ennek oka: A GraphQL API lekérdezési felületként működik az adatforrások felett. Ha a mögöttes adatforrás teljesítményproblémákkal (például hiányzó indexekkel, összetett lekérdezésekkel vagy erőforrás-korlátozásokkal) rendelkezik, az API örökli ezeket a korlátozásokat.
Solution:
- Közvetlen tesztelés: Az adatforrás lekérdezése közvetlenül (SQL vagy más natív eszközök használatával) az alapkonfiguráció teljesítményének megállapításához
-
Az adatforrás optimalizálása:
- Megfelelő indexek hozzáadása a gyakran lekérdezett oszlopokhoz
- Fontolja meg a megfelelő adattárat a használati esethez: Háló döntési útmutató – válasszon egy adattárat
- Az optimalizálási lehetőségek lekérdezés-végrehajtási terveinek áttekintése
- Megfelelő méretű kapacitás: Győződjön meg arról, hogy a Fabric-kapacitás termékváltozata elegendő számítási erőforrást biztosít. A megfelelő kapacitás kiválasztásával kapcsolatos útmutatásért tekintse meg a Microsoft Fabric alapelveit .
Lekérdezések tervezése
Probléma: Egyes lekérdezések jól teljesítenek, míg mások lassúak.
Miért történik ez:
- Túlkérés: A szükségesnél több mező kérése növeli a feldolgozási időt
- Mély beágyazás: A többszintű beágyazott kapcsolattal rendelkező lekérdezések több feloldóvégrehajtást igényelnek
- Hiányzó szűrők: A megfelelő szűrők nélküli lekérdezések túl sok adatot adhatnak vissza
Solution:
- Csak a Szükséges mezők kérése a GraphQL-lekérdezésben
- Ha lehetséges, korlátozza a beágyazott kapcsolatok mélységét
- Megfelelő szűrők és lapozás használata a lekérdezésekben
- Szükség esetén fontolja meg az összetett lekérdezések több egyszerűbb lekérdezésre való lebontását