Teljesítményproblémák keresése és diagnosztizálása az Application Insightsban

Az Application Insights telemetriát gyűjt az alkalmazásból a teljesítmény és a működés elemzésének segítése érdekében. Ezekkel az információkkal feltárhatja a potenciális problémákat, illetve használatukkal azonosíthatja azokat a továbbfejlesztési lehetőségeket az alkalmazásban, amelyek a legnagyobb hatással lehetnek a felhasználókra. Ez az oktatóanyag az alkalmazás kiszolgáló-összetevőinek, valamint az ügyfél teljesítményének elemzési módszereit ismerteti.

Az alábbiak végrehajtásának módját ismerheti meg:

  • A kiszolgálóoldali műveletek teljesítményének azonosítása.
  • Elemezze a kiszolgálóműveleteket a lassú teljesítmény kiváltó okának meghatározásához.
  • Azonosítsa a leglassabb ügyféloldali műveleteket.
  • Az oldalmegtekintések részleteinek elemzése lekérdezési nyelv használatával.

Előfeltételek

Az oktatóanyag elvégzéséhez:

  • Telepítse a Visual Studio 2019-et a következő számítási feladatokkal:
    • ASP.NET és webfejlesztés
    • Azure-fejlesztés
  • .NET-alkalmazás üzembe helyezése az Azure-ban, és az Application Insights SDK engedélyezése
  • Engedélyezze az Application Insights profilkészítőt az alkalmazásához.

Bejelentkezés az Azure-ba

Jelentkezzen be az Azure Portalra.

Lassú kiszolgálói műveletek azonosítása

Az Application Insights teljesítményadatokat gyűjt az alkalmazás különböző műveleteiről. A leghosszabb időtartamú műveletek azonosításával diagnosztizálhatja a lehetséges problémákat, vagy megcélzhatja a folyamatban lévő fejlesztést az alkalmazás általános teljesítményének javítása érdekében.

  1. Válassza ki az Application Insights elemet, majd az előfizetését.

  2. A Teljesítmény panel megnyitásához válassza a Teljesítmény lehetőséget a Vizsgálat menüben, vagy válassza a Kiszolgáló válaszidejének grafikonját.

    Képernyőkép a Teljesítmény nézetről.

  3. A Teljesítmény képernyőn az alkalmazás egyes műveleteinek száma és átlagos időtartama látható. Ezekkel az információkkal azonosíthatja a felhasználókat leginkább érintő műveleteket. Ebben a példában a GET Customers/Details és a GET Home/Index elemeket érdemes megvizsgálni a viszonylagosan hosszú időtartamuk és a hívások magas száma miatt. Más műveletek hosszabb időtartamúak lehetnek, de ritkán nevezték őket, így a fejlesztésük hatása minimális lenne.

    Képernyőkép a Teljesítménykiszolgáló panelről.

  4. Ez a grafikon jelenleg a kijelölt műveletek átlagos időtartamát mutatja. A teljesítményproblémákat a 95. percentilisre váltva találhatja meg. Adja hozzá a kívánt műveleteket úgy, hogy kitűzi őket a gráfra. A grafikonon látható, hogy vannak olyan csúcsok, amelyeket érdemes megvizsgálni. A további elkülönítésük érdekében csökkentse a gráf időablakát.

    Képernyőkép a Rögzítési műveletekről.

  5. A jobb oldali teljesítmény panelen a kiválasztott művelet különböző kéréseihez tartozó időtartamok eloszlását láthatja. Szűkítse a keretet úgy, hogy a 95. percentilisnél kezdődjön. A Top 3 Dependencies insights kártya egy pillantással megállapíthatja, hogy a külső függőségek valószínűleg hozzájárulnak a lassú tranzakciókhoz. A minták listájának megtekintéséhez válassza a minták számát tartalmazó gombot. Ezután válasszon ki egy mintát a tranzakció részleteinek megtekintéséhez.

  6. Egy pillantással láthatja, hogy a Fabrikamaccount Azure Table hívása a legnagyobb mértékben hozzájárul a tranzakció teljes időtartamához. Láthatja továbbá, hogy egy kivétel miatt meghiúsult. Jelöljön ki egy elemet a listában a jobb oldalon lévő részletek megtekintéséhez.

    Képernyőkép a művelet végpontok közötti tranzakcióinak részleteiről.

  7. A Profiler segít továbbjutni a kódszintű diagnosztikában a művelethez futtatott tényleges kód és az egyes lépésekhez szükséges idő megjelenítésével. Előfordulhat, hogy egyes műveletek nem rendelkeznek nyomkövetéssel, mert a Profiler rendszeresen fut. Idővel több műveletnek lehet nyoma. A művelet profilkészítőjének elindításához válassza a Profiler-nyomkövetések lehetőséget.

  8. A nyomkövetés az egyes műveletek egyedi eseményeit jeleníti meg, hogy diagnosztizálhassa a teljes művelet időtartamának kiváltó okát. Válassza ki a leghosszabb időtartamú példák egyikét.

  9. Válassza a Gyakori elérésű elérési út lehetőséget a művelet teljes időtartamához leginkább hozzájáruló események adott útvonalának kiemeléséhez. Ebben a példában láthatja, hogy a leglassabb hívás a FabrikamFiberAzureStorage.GetStorageTableData metódusból származik. Az a rész, amely a legtöbb időt veszi igénybe, a CloudTable.CreateIfNotExist metódus. Ha ezt a kódsort minden alkalommal végrehajtja a rendszer, amikor a függvényt meghívják, a rendszer szükségtelen hálózati hívásokat és CPU-erőforrásokat használ fel. A kód javításának legjobb módja, ha ezt a sort egy olyan indítási metódusba helyezi, amely csak egyszer fut.

    Képernyőkép a Profiler részleteiről.

  10. A képernyő tetején található teljesítménytipp támogatja azt az értékelést, hogy a túl hosszú időtartam a várakozás miatt van. Válassza a várakozási hivatkozást a különböző típusú események értelmezésére vonatkozó dokumentációhoz.

    Képernyőkép egy teljesítménytippről.

  11. További elemzéshez válassza a Nyomkövetés letöltése lehetőséget a nyomkövetés letöltéséhez. Ezeket az adatokat a PerfView használatával tekintheti meg.

Naplóadatok használata a kiszolgálóhoz

A naplók gazdag lekérdezési nyelvet biztosítanak, amellyel elemezheti az Application Insights által gyűjtött összes adatot. Ezzel a funkcióval részletes elemzést végezhet a kérések és a teljesítményadatok alapján.

  1. Térjen vissza a művelet részletei panelre, és válassza a Naplók ikonNézet a Naplókban (Elemzések) lehetőséget.

  2. Ekkor megnyílik a Naplók képernyő, amelyen a panelen található összes nézethez tartozik lekérdezés. Ezeket a lekérdezéseket futtathatja alapértelmezetten, vagy módosíthat rajtuk az igényei szerint. Az első lekérdezés megjeleníti ennek a műveletnek a teljes időtartamát.

    Képernyőkép egy napló lekérdezésről.

Lassú ügyfélműveletek azonosítása

Amellett, hogy azonosítja a kiszolgálói folyamatokat az optimalizálás érdekében, az Application Insights az ügyfélböngészők szempontjából is képes elemzést végezni. Ezek az információk segíthetnek azonosítani az ügyfélösszetevők lehetséges fejlesztéseit, és akár a különböző böngészőkkel vagy különböző helyekkel kapcsolatos problémák azonosítását is.

  1. Válassza a Böngésző lehetőséget a Vizsgálat területen, majd válassza a Böngésző teljesítménye lehetőséget. Másik lehetőségként válassza a Teljesítmény lehetőséget a Vizsgálat területen, és váltson a Böngésző lapra a jobb felső sarokban található Kiszolgáló/Böngésző váltógombbal a böngésző teljesítmény-összegzésének megnyitásához. Ez a nézet vizuálisan összefoglalja az alkalmazás különböző telemetriáit a böngésző szemszögéből.

    Képernyőkép a Böngésző összegzéséről.

  2. Válasszon ki egy műveletnevet, kattintson a jobb alsó sarokban található Minták gombra, majd válasszon ki egy műveletet. A végpontok közötti tranzakció részletei a jobb oldalon nyílnak meg, ahol megtekintheti az oldalnézet tulajdonságait. Megtekintheti az oldalt kérő ügyfél adatait, beleértve a böngésző típusát és helyét. Ez az információ segítheti abban, hogy megállapítsa, vannak-e az adott ügyféltípusokra jellemző teljesítményproblémák.

    Képernyőkép a Lapnézet tulajdonságairól.

Naplóadatok használata az ügyfélhez

A kiszolgáló teljesítményéhez gyűjtött adatokhoz hasonlóan az Application Insights a naplók használatával minden ügyféladatot elérhetővé tesz a mély elemzéshez.

  1. Térjen vissza a böngésző összegzéséhez, és válassza a Naplók ikonNézet a Naplókban (Elemzések) lehetőséget.

  2. Ekkor megnyílik a Naplók képernyő, amelyen a panelen található összes nézethez tartozik lekérdezés. Az első lekérdezés a különböző oldalmegtekintések időtartamát jeleníti meg az idő függvényében.

    Képernyőkép a Naplók képernyőről.