Az Azure-Web Apps alkalmazások teljesítményével kapcsolatos gyakori kérdésekApplication performance FAQs for Web Apps in Azure

Megjegyzés

Az alábbi irányelvek némelyike csak Windows vagy Linux App Services esetén működik.Some of the below guidelines might only work on Windows or Linux App Services. A Linux App Services például alapértelmezés szerint 64 bites módban fut.For example, Linux App Services run in 64-bit mode by default.

Ez a cikk válaszokat tartalmaz a Azure App Service Web Apps funkciójánakalkalmazás-teljesítménnyel kapcsolatos problémáira vonatkozó gyakori kérdésekre (GYIK).This article has answers to frequently asked questions (FAQs) about application performance issues for the Web Apps feature of Azure App Service.

Ha az Azure-beli probléma nem szerepel ebben a cikkben, látogasson el az MSDN webhelyentalálható Azure-fórumokra, és stack overflow.If your Azure issue is not addressed in this article, visit the Azure forums on MSDN and Stack Overflow. Felteheti a problémát ezekben a fórumokon, vagy közzéteheti @AzureSupport a Twitteren.You can post your issue in these forums, or post to @AzureSupport on Twitter. Azure-támogatási kérelmet is küldhet.You also can submit an Azure support request. Ha támogatási kérést szeretne küldeni, az Azure-támogatás lapon válassza a támogatáslekérése lehetőséget.To submit a support request, on the Azure support page, select Get support.

Miért lassú az alkalmazásom?Why is my app slow?

Több tényező is hozzájárulhat a lassú alkalmazások teljesítményéhez.Multiple factors might contribute to slow app performance. A részletes hibaelhárítási lépéseket lásd: lassú webalkalmazások teljesítményének hibaelhárítása.For detailed troubleshooting steps, see Troubleshoot slow web app performance.

Hogyan a nagy CPU-fogyasztási forgatókönyvet?How do I troubleshoot a high CPU-consumption scenario?

Bizonyos nagy CPU-fogyasztási helyzetekben előfordulhat, hogy az alkalmazásnak több számítási erőforrásra van szüksége.In some high CPU-consumption scenarios, your app might truly require more computing resources. Ebben az esetben érdemes lehet magasabb szolgáltatási szintet méretezni, hogy az alkalmazás megkapja az összes szükséges erőforrást. In that case, consider scaling to a higher service tier so the application gets all the resources it needs. Más időpontokban a nagy CPU-felhasználás oka lehet rossz hurok vagy kódolási gyakorlat.Other times, high CPU consumption might be caused by a bad loop or by a coding practice. Betekintést nyerhet a megnövelt CPU-fogyasztás indítására. Ez egy kétrészes folyamat.Getting insight into what's triggering increased CPU consumption is a two-part process. Először hozzon létre egy folyamat-memóriaképet, majd elemezze a folyamat memóriaképét.First, create a process dump, and then analyze the process dump. További információ: a memóriakép rögzítése és elemzése a nagy CPU-fogyasztáshoz Web Apps.For more information, see Capture and analyze a dump file for high CPU consumption for Web Apps.

Hogyan a nagy memória-felhasználású forgatókönyvek hibakeresését?How do I troubleshoot a high memory-consumption scenario?

Néhány nagy mennyiségű memóriát használó alkalmazás esetében előfordulhat, hogy alkalmazása valóban több számítási erőforrást igényel.In some high memory-consumption scenarios, your app might truly require more computing resources. Ebben az esetben érdemes lehet magasabb szolgáltatási szintet méretezni, hogy az alkalmazás megkapja az összes szükséges erőforrást. In that case, consider scaling to a higher service tier so the application gets all the resources it needs. Máskor a kódban szereplő hiba okozhatja a memória szivárgását.Other times, a bug in the code might cause a memory leak. A kódolási gyakorlat A memóriahasználat növelését is növelheti.A coding practice also might increase memory consumption. Betekintést nyerhet a nagy memória-használat aktiválására. Ez egy kétrészes folyamat. Getting insight into what's triggering high memory consumption is a two-part process. Először hozzon létre egy folyamat-memóriaképet, majd elemezze a folyamat memóriaképét.First, create a process dump, and then analyze the process dump. Az Azure site Extension Gallery összeomlás-diagnosztizálása hatékonyan hajthatja végre ezeket a lépéseket.Crash Diagnoser from the Azure Site Extension Gallery can efficiently perform both these steps. További információ: a memóriakép rögzítése és elemzése a Web Apps időszakos nagy memóriához.For more information, see Capture and analyze a dump file for intermittent high memory for Web Apps.

Hogyan automatizálja App Service webalkalmazásokat a PowerShell használatával?How do I automate App Service web apps by using PowerShell?

A PowerShell-parancsmagok használatával felügyelheti és karbantarthatja App Service webalkalmazásait.You can use PowerShell cmdlets to manage and maintain App Service web apps. A blogbejegyzésben a PowerShell használatával automatizálható webalkalmazások automatizálása Azure app Servicea Azure Resource Manager-alapú PowerShell-parancsmagok használata a gyakori feladatok automatizálásához.In our blog post Automate web apps hosted in Azure App Service by using PowerShell, we describe how to use Azure Resource Manager-based PowerShell cmdlets to automate common tasks. A blogbejegyzés a webalkalmazások különböző felügyeleti feladataihoz is tartalmaz mintakód-kódot.The blog post also has sample code for various web apps management tasks. Az összes App Service Web Apps-parancsmag leírását és szintaxisát lásd: az. websites.For descriptions and syntax for all App Service web apps cmdlets, see Az.Websites.

Hogyan megtekintheti a webalkalmazásom eseménynaplóit?How do I view my web app's event logs?

A webalkalmazás eseménynaplóinak megtekintése:To view your web app's event logs:

  1. Jelentkezzen be a kudu webhelyére.Sign in to your Kudu website.
  2. A menüben válassza a Debug konzol > cmdelemet.In the menu, select Debug Console > CMD.
  3. Válassza a naplófájlok mappát.Select the LogFiles folder.
  4. Az eseménynaplók megtekintéséhez válassza az Eseménynapló. XMLmelletti ceruza ikont.To view event logs, select the pencil icon next to eventlog.xml.
  5. A naplók letöltéséhez futtassa a PowerShell-parancsmagot Save-AzureWebSiteLog -Name webappname.To download the logs, run the PowerShell cmdlet Save-AzureWebSiteLog -Name webappname.

Hogyan a webalkalmazás felhasználói módú memóriaképének rögzítése?How do I capture a user-mode memory dump of my web app?

A webalkalmazás felhasználói módú memóriaképének rögzítése:To capture a user-mode memory dump of your web app:

  1. Jelentkezzen be a kudu webhelyére.Sign in to your Kudu website.
  2. Válassza a Process Explorer menüt.Select the Process Explorer menu.
  3. Kattintson a jobb gombbal a W3wp. exe folyamatra vagy a webjobs folyamatra.Right-click the w3wp.exe process or your WebJob process.
  4. Válassza a memóriakép letöltése > teljes memóriaképlehetőséget.Select Download Memory Dump > Full Dump.

Hogyan megtekintheti a webalkalmazás folyamat-szintű adatait?How do I view process-level info for my web app?

A webalkalmazáshoz tartozó folyamat-szintű információk megtekintésére két lehetőség áll rendelkezésre:You have two options for viewing process-level information for your web app:

  • Az Azure Portalon:In the Azure portal:
    1. Nyissa meg a webalkalmazáshoz tartozó Process Explorert .Open the Process Explorer for the web app.
    2. A részletek megtekintéséhez válassza ki a W3wp. exe folyamatot.To see the details, select the w3wp.exe process.
  • A kudu-konzolon:In the Kudu console:
    1. Jelentkezzen be a kudu webhelyére.Sign in to your Kudu website.
    2. Válassza a Process Explorer menüt.Select the Process Explorer menu.
    3. A W3wp. exe folyamatnál válassza a Tulajdonságoklehetőséget.For the w3wp.exe process, select Properties.

Amikor megkeresem az alkalmazást, "hiba 403 – ez a webalkalmazás leállt" hibaüzenet jelenik meg.When I browse to my app, I see "Error 403 - This web app is stopped." Hogyan megoldja ezt?How do I resolve this?

A következő három feltétel okozhatja ezt a hibát:Three conditions can cause this error:

  • A webalkalmazás elérte a számlázási korlátot, és a webhely le van tiltva.The web app has reached a billing limit and your site has been disabled.
  • A webalkalmazás le lett állítva a portálon.The web app has been stopped in the portal.
  • A webalkalmazás elérte az adott erőforrás-kvótára vonatkozó korlátot, amely az ingyenes vagy a megosztott méretezési szolgáltatási csomagra is érvényes lehet.The web app has reached a resource quota limit that might apply to a Free or Shared scale service plan.

Ha szeretné megtekinteni, hogy mi okozza a hibát, és hogyan oldja meg a problémát, kövesse a Web Apps alábbi lépéseit: "Hiba 403 – ez a webalkalmazás leáll".To see what is causing the error and to resolve the issue, follow the steps in Web Apps: "Error 403 – This web app is stopped".

Hol tudhatok meg többet a különböző App Service-csomagok kvótái és korlátairól?Where can I learn more about quotas and limits for various App Service plans?

További információ a kvótákkal és a korlátozásokkal kapcsolatban: app Service korlátok.For information about quotas and limits, see App Service limits.

Hogyan csökkentse az első kérelem válaszideje az üresjárati idő után?How do I decrease the response time for the first request after idle time?

Alapértelmezés szerint a webalkalmazások el lesznek távolítva, ha egy meghatározott időtartam alatt tétlenek.By default, web apps are unloaded if they are idle for a set period of time. Így a rendszeren erőforrásokat takaríthat meg.This way, the system can conserve resources. A hátránya, hogy a webalkalmazás eltávolítását követően az első kérelemre adott válasz már nem érhető el, így a webalkalmazás betöltődik, és megkezdheti a válaszok kiszolgálását.The downside is that the response to the first request after the web app is unloaded is longer, to allow the web app to load and start serving responses. Az alapszintű és a standard szintű szolgáltatási csomagokban a mindig bekapcsolva beállítás megadásával megtarthatja az alkalmazás folyamatos betöltését.In Basic and Standard service plans, you can turn on the Always On setting to keep the app always loaded. Ez a várakozási idő elteltével nem töltődik be az alkalmazás üresjárata után.This eliminates longer load times after the app is idle. Az Always On beállítás módosítása:To change the Always On setting:

  1. A Azure Portal nyissa meg a webalkalmazást.In the Azure portal, go to your web app.
  2. Válassza az Alkalmazásbeállításoklehetőséget.Select Application settings.
  3. Az Always Onbeállításnál válassza a belehetőséget.For Always On, select On.

Hogyan bekapcsolni a sikertelen kérelmek nyomkövetését?How do I turn on failed request tracing?

A sikertelen kérelmek nyomkövetésének bekapcsolása:To turn on failed request tracing:

  1. A Azure Portal nyissa meg a webalkalmazást.In the Azure portal, go to your web app.

  2. Válassza a minden beállítás > diagnosztikai naplóklehetőséget.Select All Settings > Diagnostics Logs.

  3. A Sikertelen kérelmek nyomkövetéséhezválassza a belehetőséget.For Failed Request Tracing, select On.

  4. Kattintson a Mentés gombra.Select Save.

  5. A Web App (webalkalmazás) panelen válassza az eszközöklehetőséget.On the web app blade, select Tools.

  6. Válassza a Visual Studio onlinelehetőséget.Select Visual Studio Online.

  7. Ha a beállítás nincs bekapcsolva, válassza a belehetőséget.If the setting is not On, select On.

  8. Válassza az Indításlehetőséget.Select Go.

  9. Válassza a web. configlehetőséget.Select Web.config.

  10. A System. webserverben adja hozzá ezt a konfigurációt (egy adott URL-cím rögzítéséhez):In system.webServer, add this configuration (to capture a specific URL):

    <system.webServer>
    <tracing> <traceFailedRequests>
    <remove path="*api*" />
    <add path="*api*">
    <traceAreas>
    <add provider="ASP" verbosity="Verbose" />
    <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
    <add provider="ISAPI Extension" verbosity="Verbose" />
    <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" />
    </traceAreas>
    <failureDefinitions statusCodes="200-999" />
    </add> </traceFailedRequests>
    </tracing>
    
  11. A lassú teljesítménnyel kapcsolatos problémák elhárítása érdekében adja hozzá ezt a konfigurációt (ha a rögzítési kérelem 30 másodpercnél hosszabb időt vesz igénybe):To troubleshoot slow-performance issues, add this configuration (if the capturing request is taking more than 30 seconds):

    <system.webServer>
    <tracing> <traceFailedRequests>
    <remove path="*" />
    <add path="*">
    <traceAreas> <add provider="ASP" verbosity="Verbose" />
    <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
    <add provider="ISAPI Extension" verbosity="Verbose" />
    <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" />
    </traceAreas>
    <failureDefinitions timeTaken="00:00:30" statusCodes="200-999" />
    </add> </traceFailedRequests>
    </tracing>
    
  12. A sikertelen kérelmek nyomkövetésének letöltéséhez nyissa meg a webhelyet a portálon.To download the failed request traces, in the portal, go to your website.

  13. Válassza az eszközök > kudu > Golehetőséget.Select Tools > Kudu > Go.

  14. A menüben válassza a Debug konzol > cmdelemet.In the menu, select Debug Console > CMD.

  15. Jelölje ki a naplófájlok mappát, majd válassza ki azt a mappát, amelynek a neve a W3SVCkarakterlánccal kezdődik.Select the LogFiles folder, and then select the folder with a name that starts with W3SVC.

  16. Az XML-fájl megtekintéséhez válassza a ceruza ikont.To see the XML file, select the pencil icon.

"A (z)" munkavégző folyamat újrahasznosítása a "memória százalékos korlátja miatt" üzenet jelenik meg.I see the message "Worker Process requested recycle due to 'Percent Memory' limit." Hogyan a probléma megoldásához?How do I address this issue?

Egy 32 bites folyamat számára rendelkezésre álló memória maximális mennyisége (akár 64 bites operációs rendszeren is) 2 GB.The maximum available amount of memory for a 32-bit process (even on a 64-bit operating system) is 2 GB. Alapértelmezés szerint a munkavégző folyamat 32 bites értékre van állítva App Service (az örökölt webalkalmazásokkal való kompatibilitás érdekében).By default, the worker process is set to 32-bit in App Service (for compatibility with legacy web applications).

Érdemes lehet a 64 bites folyamatokra váltani, hogy kihasználhassa a webes feldolgozói szerepkörben elérhető további memóriát.Consider switching to 64-bit processes so you can take advantage of the additional memory available in your Web Worker role. Ez elindítja a webalkalmazás újraindítását, ezért az ütemterv szerint kell ütemezni.This triggers a web app restart, so schedule accordingly.

Azt is vegye figyelembe, hogy egy 64 bites környezethez alapszintű vagy standard szolgáltatási csomag szükséges.Also note that a 64-bit environment requires a Basic or Standard service plan. Az ingyenes és a közös csomagok mindig 32 bites környezetben futnak.Free and Shared plans always run in a 32-bit environment.

További információkért lásd: webalkalmazások konfigurálása app Serviceban.For more information, see Configure web apps in App Service.

Miért van a kérésem időtúllépése 230 másodperc után?Why does my request time out after 230 seconds?

A Azure Load Balancer négy perc alapértelmezett üresjárati időtúllépési beállítással rendelkezik.Azure Load Balancer has a default idle timeout setting of four minutes. Ez általában egy webes kérelem ésszerű válaszideje.This is generally a reasonable response time limit for a web request. Ha a webalkalmazásban háttér-feldolgozásra van szükség, javasoljuk, hogy használjon Azure WebJobs.If your web app requires background processing, we recommend using Azure WebJobs. Az Azure-webalkalmazás meghívhatja a webjobs-feladatokat, és értesítést kaphat a háttérben történő feldolgozás befejezésekor.The Azure web app can call WebJobs and be notified when background processing is finished. Több módszert is választhat a webjobs-feladatok, például a várólisták és az eseményindítók használatához.You can choose from multiple methods for using WebJobs, including queues and triggers.

A webjobs a háttérben történő feldolgozásra szolgál.WebJobs is designed for background processing. Annyi háttérbeli feldolgozást végezhet, amennyit csak szeretne egy Webjobs.You can do as much background processing as you want in a WebJob. A webjobs-feladatokkal kapcsolatos további információkért lásd: háttérben futó feladatok futtatása webjobs-feladatokkal.For more information about WebJobs, see Run background tasks with WebJobs.

ASP.NET Core App Service futtatott alkalmazások néha nem válaszolnak.ASP.NET Core applications that are hosted in App Service sometimes stop responding. Hogyan kijavítani ezt a problémát?How do I fix this issue?

A korábbi vércse-verziók ismert problémái miatt előfordulhat, hogy egy ASP.net Core 1,0 alkalmazás, amely app Serviceben fut, időnként leállítja a válaszadást.A known issue with an earlier Kestrel version might cause an ASP.NET Core 1.0 app that's hosted in App Service to intermittently stop responding. Ezt az üzenetet is láthatja: "A megadott CGI-alkalmazás hibát észlelt, és a kiszolgáló megszakította a folyamatot."You also might see this message: "The specified CGI Application encountered an error and the server terminated the process."

Ez a probléma a vércse 1.0.2-es verziójában van kijavítva.This issue is fixed in Kestrel version 1.0.2. Ez a verzió a ASP.NET Core 1.0.3 frissítés részét képezi.This version is included in the ASP.NET Core 1.0.3 update. A probléma megoldásához győződjön meg arról, hogy az alkalmazás függőségeit a vércse 1.0.2 használatára frissíti.To resolve this issue, make sure you update your app dependencies to use Kestrel 1.0.2. Azt is megteheti, hogy a blogbejegyzésben ismertetett két megkerülő megoldás egyikét használja app Service web apps 1,0 ASP.net Core lassúteljesítményű problémák megoldásához.Alternatively, you can use one of two workarounds that are described in the blog post ASP.NET Core 1.0 slow perf issues in App Service web apps.

Nem találom a naplófájlokat a saját webalkalmazásom fájljának struktúrájában.I can't find my log files in the file structure of my web app. Hogyan találhatom meg őket?How can I find them?

Ha a App Service helyi gyorsítótár szolgáltatását használja, a rendszer a App Service-példányhoz tartozó LogFiles és adatmappák mappastruktúrát fogja érinteni.If you use the Local Cache feature of App Service, the folder structure of the LogFiles and Data folders for your App Service instance are affected. Helyi gyorsítótár használata esetén az almappák a Storage-naplófájlokban és az adatmappákban jönnek létre.When Local Cache is used, subfolders are created in the storage LogFiles and Data folders. Az almappákban az "egyedi azonosító" + időbélyegző szerepel.The subfolders use the naming pattern "unique identifier" + time stamp. Minden almappa olyan virtuálisgép-példánynak felel meg, amelyben a webalkalmazás fut vagy fut.Each subfolder corresponds to a VM instance in which the web app is running or has run.

Annak megállapításához, hogy a helyi gyorsítótárat használja-e, ellenőrizze az App Service Alkalmazásbeállítások lapot. Ha a helyi gyorsítótár használatban van, az alkalmazás WEBSITE_LOCAL_CACHE_OPTION beállítása a következőre van Alwaysbeállítva:.To determine whether you are using Local Cache, check your App Service Application settings tab. If Local Cache is being used, the app setting WEBSITE_LOCAL_CACHE_OPTION is set to Always.

Ha nem helyi gyorsítótárat használ, és ezt a problémát tapasztalja, küldjön egy támogatási kérést.If you are not using Local Cache and are experiencing this issue, submit a support request.

"Kísérlet történt egy szoftvercsatorna elérésére a hozzáférési engedélyeik által tiltott módon." üzenet jelenik meg.I see the message "An attempt was made to access a socket in a way forbidden by its access permissions." Hogyan megoldja ezt?How do I resolve this?

Ez a hiba általában akkor fordul elő, ha a virtuálisgép-példány kimenő TCP-kapcsolatai kimerültek.This error typically occurs if the outbound TCP connections on the VM instance are exhausted. App Service a korlátozásokat az egyes virtuálisgép-példányok számára elérhető kimenő kapcsolatok maximális száma miatt kényszeríti a rendszer.In App Service, limits are enforced for the maximum number of outbound connections that can be made for each VM instance. További információ: a virtuális gépek közötti numerikus korlátok.For more information, see Cross-VM numerical limits.

Ez a hiba akkor is előfordulhat, ha egy helyi IP-címről próbál hozzáférni az alkalmazásból.This error also might occur if you try to access a local address from your application. További információ: helyi címekre vonatkozó kérelmek.For more information, see Local address requests.

A webalkalmazás kimenő kapcsolataival kapcsolatos további információkért tekintse meg az Azure-webhelyekhez való kimenő kapcsolatokrólszóló blogbejegyzést.For more information about outbound connections in your web app, see the blog post about outgoing connections to Azure websites.

Hogyan a Visual studiót a App Service webalkalmazásom távoli hibakereséséhez?How do I use Visual Studio to remote debug my App Service web app?

A webalkalmazások Visual Studióval való hibakeresését bemutató részletes útmutató: a app Service webalkalmazás távoli hibakeresése.For a detailed walkthrough that shows you how to debug your web app by using Visual Studio, see Remote debug your App Service web app.