排查 Azure 應(yīng)用服務(wù)中應(yīng)用性能緩慢的問(wèn)題

來(lái)源: Microsoft Azure
作者:Microsoft Azure
時(shí)間:2020-12-16
17290
本文幫助排查Azure應(yīng)用服務(wù)中應(yīng)用性能緩慢的問(wèn)題。

本文幫助排查Azure應(yīng)用服務(wù)中應(yīng)用性能緩慢的問(wèn)題。

如果在本文中有任何需要協(xié)助的地方,可以聯(lián)系MSDN Azure和堆棧溢出論壇上的Azure專(zhuān)家?;蛘?,也可以提出Azure支持事件。請(qǐng)轉(zhuǎn)到Azure支持站點(diǎn),并單擊“獲取支持”。

癥狀

瀏覽應(yīng)用時(shí),頁(yè)面加載緩慢,并且有時(shí)還會(huì)超時(shí)。

原因

此問(wèn)題通常是應(yīng)用程序級(jí)別的問(wèn)題造成的,例如:

·網(wǎng)絡(luò)請(qǐng)求耗時(shí)過(guò)長(zhǎng)

·應(yīng)用程序代碼或數(shù)據(jù)庫(kù)查詢(xún)效率低下

·應(yīng)用程序的內(nèi)存/CPU使用率過(guò)高

·應(yīng)用程序因異常而崩潰

疑難解答步驟

故障排除可劃分為三種不同的任務(wù),依次為:

1.觀察和監(jiān)視應(yīng)用程序行為

2.收集數(shù)據(jù)

3.緩解問(wèn)題

應(yīng)用服務(wù)在每個(gè)步驟提供了多種選項(xiàng)。

1.觀察和監(jiān)視應(yīng)用程序行為

跟蹤服務(wù)運(yùn)行狀況

每次發(fā)生服務(wù)中斷或性能下降時(shí)Azure會(huì)進(jìn)行宣傳??梢栽贏zure門(mén)戶(hù)中跟蹤服務(wù)的運(yùn)行狀況。

監(jiān)視應(yīng)用

此選項(xiàng)可讓你找出應(yīng)用程序是否存在任何問(wèn)題。在應(yīng)用的邊欄選項(xiàng)卡中,單擊“請(qǐng)求和錯(cuò)誤”磁貼?!爸笜?biāo)”邊欄選項(xiàng)卡顯示所有可以添加的指標(biāo)。

可能需要在應(yīng)用中監(jiān)視的一些指標(biāo)包括

·平均內(nèi)存工作集

·平均響應(yīng)時(shí)間

·CPU時(shí)間

·內(nèi)存工作集

·請(qǐng)求

1-monitor-metrics.png

監(jiān)視Web終結(jié)點(diǎn)狀態(tài)

如果在“標(biāo)準(zhǔn)”定價(jià)層中運(yùn)行應(yīng)用,應(yīng)用服務(wù)允許從三個(gè)地理位置監(jiān)視兩個(gè)終結(jié)點(diǎn)。

終結(jié)點(diǎn)監(jiān)視可從測(cè)試Web URL的響應(yīng)時(shí)間和運(yùn)行時(shí)間的分布式地理位置配置Web測(cè)試。該測(cè)試可對(duì)Web URL執(zhí)行HTTP GET操作,以從每個(gè)位置確定響應(yīng)時(shí)間和運(yùn)行時(shí)間。每個(gè)已配置位置每5分鐘運(yùn)行一次測(cè)試。

使用HTTP響應(yīng)代碼監(jiān)視運(yùn)行時(shí)間,并且以毫秒為單位計(jì)算響應(yīng)時(shí)間。如果HTTP響應(yīng)代碼大于或等于400或響應(yīng)時(shí)間超過(guò)30秒,則監(jiān)視測(cè)試失敗。如果從所有指定的位置監(jiān)視測(cè)試均成功,則終結(jié)點(diǎn)被視為可用。

有關(guān)詳細(xì)信息,請(qǐng)參閱在Azure應(yīng)用服務(wù)中監(jiān)視應(yīng)用

使用擴(kuò)展的應(yīng)用程序性能監(jiān)視

還可以使用站點(diǎn)擴(kuò)展監(jiān)視應(yīng)用程序的性能。

每個(gè)應(yīng)用服務(wù)應(yīng)用都提供了一個(gè)可擴(kuò)展的管理終結(jié)點(diǎn),通過(guò)此終結(jié)點(diǎn)可使用一組作為站點(diǎn)擴(kuò)展部署的功能強(qiáng)大的工具。擴(kuò)展包括:

·源代碼編輯器,如Azure DevOps。

·連接的資源(如連接到應(yīng)用的MySQL數(shù)據(jù)庫(kù))的管理工具。

2.收集數(shù)據(jù)

應(yīng)用服務(wù)為Web服務(wù)器和Web應(yīng)用程序中的日志記錄信息提供診斷功能。此信息分為Web服務(wù)器診斷和應(yīng)用程序診斷。

啟用Web服務(wù)器診斷

可以啟用或禁用以下種類(lèi)的日志:

·詳細(xì)錯(cuò)誤日志記錄-指示故障的HTTP狀態(tài)代碼(狀態(tài)代碼400或更大數(shù)字)的詳細(xì)錯(cuò)誤消息。其中可能包含有助于確定服務(wù)器返回錯(cuò)誤代碼的原因的信息。

·失敗請(qǐng)求跟蹤-有關(guān)失敗請(qǐng)求的詳細(xì)信息,包括對(duì)用于處理請(qǐng)求的IIS組件和每個(gè)組件所用的時(shí)間的跟蹤。在嘗試提高應(yīng)用性能或查找導(dǎo)致特定HTTP錯(cuò)誤的問(wèn)題時(shí),此信息很有用。

·Web服務(wù)器日志記錄-使用W3C擴(kuò)展日志文件格式的HTTP事務(wù)信息。這在確定總體應(yīng)用指標(biāo)(如處理的請(qǐng)求數(shù)量或來(lái)自特定IP地址的請(qǐng)求數(shù))時(shí)非常有用。

啟用應(yīng)用程序診斷

可通過(guò)多種選項(xiàng)收集應(yīng)用服務(wù)中的應(yīng)用程序性能數(shù)據(jù)、從Visual Studio中實(shí)時(shí)分析應(yīng)用程序,或修改應(yīng)用程序代碼以記錄更多信息和跟蹤??梢曰卺槍?duì)應(yīng)用程序的訪問(wèn)權(quán)限和通過(guò)監(jiān)視工具觀察到的內(nèi)容選擇相關(guān)選項(xiàng)。

手動(dòng)設(shè)置診斷跟蹤

如果有權(quán)訪問(wèn)Web應(yīng)用程序源代碼,使用應(yīng)用程序診斷可以捕獲Web應(yīng)用程序生成的信息。ASP.NET應(yīng)用程序可使用System.Diagnostics.Trace類(lèi)將信息記錄到應(yīng)用程序診斷日志。但是需要更改代碼并重新部署應(yīng)用程序。如果應(yīng)用在測(cè)試環(huán)境中運(yùn)行,則推薦使用此方法。

有關(guān)如何在應(yīng)用程序中配置日志記錄的詳細(xì)說(shuō)明,請(qǐng)參閱在Azure應(yīng)用服務(wù)中啟用應(yīng)用的診斷日志記錄。

使用診斷工具

應(yīng)用服務(wù)提供了智能的交互式體驗(yàn),可幫助我們排查應(yīng)用的問(wèn)題,且無(wú)需配置。如果應(yīng)用確實(shí)出現(xiàn)問(wèn)題,診斷工具會(huì)指出問(wèn)題所在,并引導(dǎo)你獲取適當(dāng)?shù)男畔?,以便更輕松快速地排查和解決問(wèn)題。

若要訪問(wèn)應(yīng)用服務(wù)診斷,請(qǐng)?jiān)贏zure門(mén)戶(hù)中導(dǎo)航到你的應(yīng)用服務(wù)應(yīng)用或應(yīng)用服務(wù)環(huán)境。在左側(cè)導(dǎo)航欄中,單擊“診斷并解決問(wèn)題”。

使用Kudu調(diào)試控制臺(tái)

應(yīng)用服務(wù)隨附可用于調(diào)試、瀏覽和上傳文件的調(diào)試控制臺(tái),以及用于獲取環(huán)境相關(guān)信息的JSON終結(jié)點(diǎn)。此控制臺(tái)稱(chēng)為應(yīng)用的Kudu控制臺(tái)或SCM儀表板。

轉(zhuǎn)到鏈接https://<Your app name>.scm.chinacloudsites.cn/即可訪問(wèn)此儀表板。

Kudu提供的一些信息和功能包括:

·應(yīng)用程序的環(huán)境設(shè)置

·日志流

·診斷轉(zhuǎn)儲(chǔ)

·調(diào)試控制臺(tái),可以在其中運(yùn)行Powershell cmdlet和基本DOS命令。

Kudu的另一項(xiàng)有用功能是,如果應(yīng)用程序引發(fā)第一次異常,可以使用Kudu和SysInternals工具Procdump創(chuàng)建內(nèi)存轉(zhuǎn)儲(chǔ)。這些內(nèi)存轉(zhuǎn)儲(chǔ)是進(jìn)程的快照,通??蓭椭挪檩^復(fù)雜的應(yīng)用問(wèn)題。

有關(guān)Kudu提供的功能的詳細(xì)信息,請(qǐng)參閱你應(yīng)該了解的Azure DevOps工具。

3.緩解問(wèn)題

縮放應(yīng)用

在Azure應(yīng)用服務(wù)中,為了提高性能和吞吐量,可以調(diào)整運(yùn)行應(yīng)用程序的規(guī)模??v向擴(kuò)展應(yīng)用涉及到兩個(gè)相關(guān)操作:將應(yīng)用服務(wù)計(jì)劃更改為較高的定價(jià)層,以及在切換到較高的定價(jià)層后配置特定的設(shè)置。

有關(guān)縮放的詳細(xì)信息,請(qǐng)參閱縮放Azure應(yīng)用服務(wù)中的應(yīng)用。

此外,可以選擇在多個(gè)實(shí)例上運(yùn)行應(yīng)用程序。擴(kuò)展不僅能提供更強(qiáng)大的處理功能,而且還能提供一定程度的容錯(cuò)。如果進(jìn)程在某個(gè)實(shí)例上中斷,其他實(shí)例會(huì)繼續(xù)處理請(qǐng)求。

可以將縮放設(shè)置為手動(dòng)或自動(dòng)。

使用AutoHeal

AutoHeal會(huì)根據(jù)你選擇的設(shè)置(例如配置更改、請(qǐng)求、基于內(nèi)存的限制或執(zhí)行請(qǐng)求所需的時(shí)間),回收應(yīng)用程序的工作進(jìn)程。在大多數(shù)情況下,回收進(jìn)程是在出現(xiàn)問(wèn)題后進(jìn)行恢復(fù)的最快方式。盡管始終都可從Azure門(mén)戶(hù)中直接重啟應(yīng)用,但AutoHeal可以自動(dòng)執(zhí)行此操作。只需在應(yīng)用的根web.config中添加一些觸發(fā)器即可。即使應(yīng)用程序并非.NET應(yīng)用,這些設(shè)置的工作方式也仍然相同。

有關(guān)詳細(xì)信息,請(qǐng)參閱自動(dòng)修復(fù)Azure網(wǎng)站。

重啟應(yīng)用

重啟通常是在發(fā)生一次性問(wèn)題后進(jìn)行恢復(fù)的最簡(jiǎn)單方式。Azure門(mén)戶(hù)的應(yīng)用邊欄選項(xiàng)卡中提供了用于停止或重啟應(yīng)用的選項(xiàng)。

2-restart.png

還可以使用Azure Powershell管理應(yīng)用。有關(guān)詳細(xì)信息,請(qǐng)參閱將Azure PowerShell與Azure資源管理器配合使用。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家