Gyakorlati tanácsok az Azure App Service-hezBest Practices for Azure App Service

Ez a cikk a Azure app Servicehasználatának ajánlott eljárásait foglalja össze.This article summarizes best practices for using Azure App Service.

Bérelt kiszolgálóiColocation

Ha olyan Azure-erőforrások, mint például egy webalkalmazás és egy adatbázis különböző régiókban találhatók, a következő hatásokkal járhat:When Azure resources composing a solution such as a web app and a database are located in different regions, it can have the following effects:

  • Megnövekedett késés az erőforrások közötti kommunikációbanIncreased latency in communication between resources
  • Az Azure díjszabási oldalánfeljegyzett, a kimenő adatforgalomra vonatkozó pénzügyi költségek.Monetary charges for outbound data transfer cross-region as noted on the Azure pricing page.

Az azonos régióban található közös elhelyezés olyan Azure-erőforrások esetében ajánlott, mint például a webalkalmazások és a tartalom vagy az adatokat tároló adatbázis-vagy Storage-fiók.Colocation in the same region is best for Azure resources composing a solution such as a web app and a database or storage account used to hold content or data. Erőforrások létrehozásakor ügyeljen arra, hogy ugyanabban az Azure-régióban legyenek, hacsak nincs konkrét üzleti vagy tervezési oka, hogy azok ne legyenek.When creating resources, make sure they are in the same Azure region unless you have specific business or design reason for them not to be. App Service alkalmazást az adatbázissal megegyező régióba helyezheti át, ha a app Service klónozási funkció jelenleg elérhető a prémium szintű app Service csomag alkalmazásaiban.You can move an App Service app to the same region as your database by using the App Service cloning feature currently available for Premium App Service Plan apps.

Ha az alkalmazások a vártnál több memóriát használnakWhen apps consume more memory than expected

Ha észreveszi, hogy egy alkalmazás a vártnál több memóriát használ fel, ahogy azt a figyelési vagy szolgáltatási javaslatok alapján jelezte, vegye figyelembe a app Service automatikus gyógyulási funkciót.When you notice an app consumes more memory than expected as indicated via monitoring or service recommendations, consider the App Service Auto-Healing feature. Az automatikus javító funkció egyik beállítása a memória küszöbértékén alapuló egyéni műveleteket veszi igénybe.One of the options for the Auto-Healing feature is taking custom actions based on a memory threshold. A műveletek az e-mail-értesítésekben a spektrumra terjednek ki, hogy a feldolgozói folyamat újrahasznosítása révén a rendszer a memórián keresztül, a helyszínen történő csökkentésselActions span the spectrum from email notifications to investigation via memory dump to on-the-spot mitigation by recycling the worker process. Az automatikus javítás a web. config fájlon keresztül és egy felhasználóbarát felhasználói felületen keresztül konfigurálható a következő blogbejegyzésben leírtak szerint: app Service támogatási hely kiterjesztése.Auto-healing can be configured via web.config and via a friendly user interface as described at in this blog post for the App Service Support Site Extension.

Ha az alkalmazások a vártnál több PROCESSZORt használnakWhen apps consume more CPU than expected

Ha észreveszi, hogy egy alkalmazás a vártnál több CPU-t használ, vagy a figyelési vagy szolgáltatási javaslatok alapján megismétli a CPU-tüskéket, vegye fontolóra a App Service terv vertikális felskálázását vagy horizontális felskálázását.When you notice an app consumes more CPU than expected or experiences repeated CPU spikes as indicated via monitoring or service recommendations, consider scaling up or scaling out the App Service plan. Ha az alkalmazás állapot-nyilvántartó, a vertikális felskálázás az egyetlen lehetőség, míg ha az alkalmazás állapota állapot nélküli, a horizontális felskálázás nagyobb rugalmasságot és nagyobb méretezhetőséget biztosít.If your application is stateful, scaling up is the only option, while if your application is stateless, scaling out gives you more flexibility and higher scale potential.

A "állapot nélküli" és "állapot nélküli" alkalmazásokkal kapcsolatos további információkért tekintse meg ezt a videót: skálázható, végpontok közötti többrétegű alkalmazás tervezése Azure app Serviceon.For more information about “stateful” vs “stateless” applications you can watch this video: Planning a Scalable End-to-End Multi-Tier Application on Azure App Service. A App Service skálázással és az automatikus skálázási lehetőségekkel kapcsolatos további információkért lásd: webalkalmazás skálázása Azure app Serviceban.For more information about App Service scaling and autoscaling options, see Scale a Web App in Azure App Service.

A szoftvercsatorna erőforrásainak kimerülése eseténWhen socket resources are exhausted

A kimenő TCP-kapcsolatok kimerítésének gyakori oka az ügyféloldali kódtárak használata, amelyek nem használhatók a TCP-kapcsolatok újrafelhasználására, vagy ha egy magasabb szintű protokoll, például a HTTP-Keep-Alive nincs használatban.A common reason for exhausting outbound TCP connections is the use of client libraries, which are not implemented to reuse TCP connections, or when a higher-level protocol such as HTTP - Keep-Alive is not used. Tekintse át a App Service-csomag alkalmazásai által hivatkozott könyvtárak dokumentációját, hogy a rendszer konfigurálja vagy hozzáférjen a kódban a kimenő kapcsolatok hatékony újrafelhasználásához.Review the documentation for each of the libraries referenced by the apps in your App Service Plan to ensure they are configured or accessed in your code for efficient reuse of outbound connections. A kapcsolatok kiszivárgásának elkerülése érdekében kövesse a könyvtár dokumentációját is a megfelelő létrehozáshoz és felszabadításhoz, illetve a karbantartáshoz.Also follow the library documentation guidance for proper creation and release or cleanup to avoid leaking connections. Amíg az ügyfél-kódtárak vizsgálata folyamatban van, a hatás a több példányra történő horizontális felskálázással enyhíthető lehet.While such client libraries investigations are in progress, impact may be mitigated by scaling out to multiple instances.

Node. js és kimenő HTTP-kérelmekNode.js and outgoing http requests

A Node. js és számos kimenő HTTP-kérelem használata esetén fontos a HTTP-Keep-Alive kezelése.When working with Node.js and many outgoing http requests, dealing with HTTP - Keep-Alive is important. A agentkeepalive npm csomag használatával egyszerűbbé teheti a kódot.You can use the agentkeepalive npm package to make it easier in your code.

Mindig kezelje http a választ, még akkor is, ha nem tesz semmit a kezelőben.Always handle the http response, even if you do nothing in the handler. Ha nem megfelelően kezeli a választ, az alkalmazás elakad, mert nem érhető el több szoftvercsatorna.If you don't handle the response properly, your application gets stuck eventually because no more sockets are available.

Például a vagy http https a csomag használata esetén:For example, when working with the http or https package:

const request = https.request(options, function(response) {
    response.on('data', function() { /* do nothing */ });
});

Ha App Service Linuxon fut egy több magot tartalmazó gépen, akkor egy másik ajánlott eljárás az, hogy a PM2 használatával több Node. js folyamat induljon el az alkalmazás végrehajtásához.If you are running on App Service on Linux on a machine with multiple cores, another best practice is to use PM2 to start multiple Node.js processes to execute your application. Ezt megteheti egy indítási parancs megadásával a tárolóban.You can do it by specifying a startup command to your container.

Például négy példány elindításához:For example, to start four instances:

pm2 start /home/site/wwwroot/app.js --no-daemon -i 4

Ha az alkalmazás biztonsági mentése meghiúsulWhen your app backup starts failing

A két leggyakoribb ok, amiért az alkalmazás biztonsági mentése meghiúsul: érvénytelen tárolási beállítások és érvénytelen adatbázis-konfiguráció.The two most common reasons why app backup fails are: invalid storage settings and invalid database configuration. Ezek a hibák általában akkor fordulnak elő, ha módosulnak a tárolási vagy adatbázis-erőforrások, illetve az ilyen erőforrások elérésének módosításai (például a biztonsági mentési beállításokban kiválasztott adatbázishoz tartozó hitelesítő adatok).These failures typically happen when there are changes to storage or database resources, or changes for how to access these resources (for example, credentials updated for the database selected in the backup settings). A biztonsági mentések jellemzően ütemezés szerint futnak, és hozzáférést igényelnek a tárolóhoz (a mentett fájlok kivonásához) és az adatbázisokhoz (a biztonsági mentésbe foglalandó tartalmak másolásához és olvasásához).Backups typically run on a schedule and require access to storage (for outputting the backed-up files) and databases (for copying and reading contents to be included in the backup). Az ilyen erőforrások elérésének meghiúsulása konzisztens biztonsági mentési hibát eredményezhet.The result of failing to access either of these resources would be consistent backup failure.

Ha a biztonsági mentési hibák történnek, tekintse át a legutóbbi eredmények listáját, és Ismerje meg, hogy milyen típusú hiba történik.When backup failures happen, review most recent results to understand which type of failure is happening. A tárolási hozzáférési hibák esetében tekintse át és frissítse a biztonsági mentési konfigurációban használt tárolási beállításokat.For storage access failures, review and update the storage settings used in the backup configuration. Adatbázis-hozzáférési hibák esetén tekintse át és frissítse a kapcsolatok karakterláncait az Alkalmazásbeállítások részeként; Ezután folytassa a biztonsági mentési konfiguráció frissítésével, hogy megfelelően tartalmazza a szükséges adatbázisokat.For database access failures, review and update your connections strings as part of app settings; then proceed to update your backup configuration to properly include the required databases. Az alkalmazások biztonsági mentésével kapcsolatos további információkért lásd: webalkalmazás biztonsági mentése Azure app Serviceban.For more information on app backups, see Back up a web app in Azure App Service.

Új Node. js-alkalmazások telepítésekor Azure App ServiceWhen new Node.js apps are deployed to Azure App Service

A Node. js-alkalmazások alapértelmezett konfigurációja Azure App Service a leggyakoribb alkalmazások igényeinek legmegfelelőbb.Azure App Service default configuration for Node.js apps is intended to best suit the needs of most common apps. Ha a Node. js-alkalmazás konfigurációja a személyre szabott hangolás előnyeit kihasználva javítja a teljesítményt vagy optimalizálja a CPU/memória/hálózati erőforrások erőforrás-felhasználását, tekintse meg az ajánlott eljárásokat és a hibaelhárítási útmutatót a Node-alkalmazásokhoz a Azure app Service.If configuration for your Node.js app would benefit from personalized tuning to improve performance or optimize resource usage for CPU/memory/network resources, see Best practices and troubleshooting guide for Node applications on Azure App Service. Ez a cikk a Node. js-alkalmazás konfigurálásához szükséges iisnode-beállításokat ismerteti, ismerteti az alkalmazás által megtekinthető különböző forgatókönyveket vagy problémákat, és bemutatja, hogyan kezelheti ezeket a problémákat.This article describes the iisnode settings you may need to configure for your Node.js app, describes the various scenarios or issues that your app may be facing, and shows how to address these issues.

Következő lépésekNext Steps

Az ajánlott eljárásokkal kapcsolatos további információkért látogasson el a app Service Diagnostics webhelyre, ahol az erőforrásra vonatkozó, gyakorlatban alkalmazható ajánlott eljárásokat talál.For more information on best practices, visit App Service Diagnostics to find out actionable best practices specific to your resource.

  • Navigáljon a webalkalmazáshoz a Azure Portal.Navigate to your Web App in the Azure portal.
  • Kattintson a bal oldali navigációs sávon található problémák diagnosztizálásához és megoldásához , amely megnyitja app Service diagnosztikát.Click on Diagnose and solve problems in the left navigation, which opens App Service Diagnostics.
  • Válassza az ajánlott eljárások Kezdőlap csempét.Choose Best Practices homepage tile.
  • Kattintson az ajánlott eljárások a rendelkezésre állás & teljesítmény vagy ajánlott eljárások az optimális konfigurációhoz lehetőségre az alkalmazás aktuális állapotának megtekintéséhez az ajánlott eljárásokkal kapcsolatban.Click Best Practices for Availability & Performance or Best Practices for Optimal Configuration to view the current state of your app in regards to these best practices.

Ezzel a hivatkozással közvetlenül is megnyithatja App Service diagnosztikát az erőforráshoz: https://ms.portal.azure.com/?websitesextension_ext=asd.featurePath%3Ddetectors%2FParentAvailabilityAndPerformance#@microsoft.onmicrosoft.com/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/troubleshoot.You can also use this link to directly open App Service Diagnostics for your resource: https://ms.portal.azure.com/?websitesextension_ext=asd.featurePath%3Ddetectors%2FParentAvailabilityAndPerformance#@microsoft.onmicrosoft.com/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/troubleshoot.