Az Application Insights teljesítményproblémáinak megkeresése és diagnosztizálása
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 alapvető 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.
Válassza ki az Application Insights elemet, majd az előfizetését.
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.
A Teljesítmény képernyő az alkalmazás egyes műveleteinek számát és átlagos időtartamát jeleníti meg. Ezekkel az információkkal azonosíthatja azokat a műveleteket, amelyek a leginkább érintik a felhasználókat. 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 fordulnak elő, ezért a fejlesztésük hatása minimális lenne.
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űveletet a gráfhoz való rögzítéssel. A grafikonon látható, hogy vannak olyan csúcsok, amelyeket érdemes megvizsgálni. További elkülönítésükhöz csökkentse a gráf időablakát.
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 3 legfontosabb függőségi elemzési 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.
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ölje ki a lista bármely elemét a jobb oldalon lévő részletek megtekintéséhez.
A Profiler a művelethez futtatott tényleges kód és az egyes lépésekhez szükséges idő megjelenítésével segíti a kódszintű diagnosztikát. 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.
A nyomkövetés az egyes műveletek egyedi eseményeit jeleníti meg, így a teljes művelet időtartamára vonatkozóan diagnosztizálhatja a kiváltó okot. Válassza ki a leghosszabb időtartamú leggyakoribb példák egyikét.
A gyakori elérésű elérési út kiválasztásával kiemelheti azokat az eseményeket, amelyek a legtöbbet járulnak hozzá a művelet teljes időtartamához. 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, aCloudTable.CreateIfNotExist
módszer. Ha ezt a kódsort minden alkalommal végrehajtja, 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 hajtja végre.A képernyő tetején található teljesítménytipp támogatja azt az értékelést, hogy a túl hosszú időtartam 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.
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 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éseket végezhet a kérések és a teljesítményadatok alapján.
Térjen vissza a művelet részletei panelre, és válassza
a Nézet a naplókban (Elemzés) lehetőséget.
Megnyílik a Naplók képernyő, amelyen egy lekérdezés látható a panel minden nézetéhez. 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.
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.
Válassza a Böngésző lehetőséget a Vizsgálat csoportban, 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 elemet a Vizsgálat csoportban, é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 az alkalmazás különböző telemetriai adatainak vizuális összegzését tartalmazza a böngésző szemszögéből.
Válassza ki a műveletnevek egyikét, válassza a jobb alsó sarokban található Minták gombot, 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.
Naplóadatok használata az ügyfélhez
A kiszolgálói teljesítményhez gyűjtött adatokhoz hasonlóan az Application Insights minden ügyféladatot elérhetővé tesz a mély elemzéshez naplók használatával.
Térjen vissza a böngésző összegzéséhez, és válassza
a Megtekintés a naplókban (Elemzés) lehetőséget.
Megnyílik a Naplók képernyő, amelyen egy lekérdezés látható a panel minden nézetéhez. Az első lekérdezés a különböző oldalmegtekintések időtartamát jeleníti meg az idő függvényében.