針對緩慢頁面回應和停止回應進行疑難解答

適用於: Internet Information Services (IIS),ASP.NET,ASP.NET Core

本文提供如何收集和分析數據的指引,以針對頁面回應緩慢和停止響應問題進行疑難解答。

判斷正確的疑難解答指南

頁面緩慢和停止回應可能會伴隨下列一或多個條件。 請務必找出這些條件,以便您據此專注進行疑難解答。 判斷其中哪一個條件最能仔細描述您要進行疑難解答的問題,並遵循適當的疑難解答指南。

數據採集

以下是為了緩慢頁面回應或停止回應而收集的實用數據清單。 並非每個問題都需要所有這些數據。 您可以根據情況收集數據。

IIS 記錄攔截器

IIS 記錄攔截器會一次收集各種歷程記錄和設定數據,包括 IIS Web 記錄,這對於診斷緩慢的頁面回應問題特別有用。 它也會收集所有 .config 檔案,這有助於了解伺服器上的不同 Web 應用程式及其設定方式。 如果已設定 FREB 記錄,FREB 記錄也會隨附於 IIS 記錄攔截器數據中。 IIS 記錄攔截器也會收集系統和應用程式事件記錄檔。

下載 IIS 記錄攔截器 工具,並依照 指示來收集數據。

組態檔

applicationhost.configweb.config 會收集為 IIS 記錄攔截器數據的一部分。 這些檔案有助於了解伺服器上的 IIS 和個別 Web 應用程式的設定。

如果 IIS 記錄攔截器工具不會自動收集組態檔,您必須手動收集它們。

applicationhost.config 檔案位於 c:\windows\system32\inetsrv\config\ web.config 檔案位於每個應用程式的根目錄中。 例如,針對默認網站的應用程式,web.config 檔案位於 c:\inetpub\wwwroot 。 應用程式的根目錄可能位於檔案系統上的任何位置。 若要識別特定月臺的根目錄,請檢查 網站 及其 physicalPath 屬性的 applicationhost.config 檔案,或檢閱 IIS 管理員中的設定。

IIS Web 記錄 (W3SVC 記錄)

從發生速度緩慢的時間收集 IIS 記錄。 這有助於確認所花費的時間欄位反映速度緩慢。 它也有助於縮小回應緩慢的頁面或頁面範圍。

如果 IIS 記錄攔截器工具不會自動收集 Web 記錄,您必須手動收集它們。

根據預設,這些記錄位於 c:\inetpub\logs\logfiles。 每個月臺都有自己的目錄 W3SVC#,其中 #SiteID。 不過,記錄位置是可自定義的。 若要尋找自定義記錄位置,您可能需要檢閱 logFileapplicationhost.config 檔案,以及指定記錄儲存位置的 目錄 設定。

Windows 系統、應用程式和安全性事件記錄檔

這些會收集為 IIS 記錄攔截器數據的一部分。 雖然針對頁面回應緩慢和停止回應進行疑難解答時通常不會使用事件記錄檔,但最佳做法是繼續收集它們,因為稍後在疑難解答時可能會使用這些記錄檔。

如果 IIS 記錄攔截器工具不會自動收集事件記錄檔,您必須手動收集它們。

直接從事件查看器收集事件記錄檔。 將它們儲存為 .evtx 檔案,並在您自己的伺服器上事件查看器中檢視它們。

Fiddler 工具追蹤或Microsoft Edge HAR 追蹤

這些追蹤中的時間軸檢視可能可協助您縮小 Web 應用程式中哪些頁面或頁面的速度很慢。 這有助於只收集緩慢頁面的 FREB 記錄。

Fiddler Classic 是第三方瀏覽器延伸模組,可作為瀏覽器的 Proxy。 Fiddler 會在數據開啟后立即開始收集數據。 若要使用 Fiddler Classic 收集 SSL 加密要求的追蹤,請遵循下列步驟:

  1. 下載並安裝 Fiddler Classic
  2. 開啟 [Fiddler 傳統],選取 [工具]>[選項]>[HTTPS],然後選取 [擷取 HTTPS CONNECT解密 HTTPS 流量] 複選框。
  3. 請選擇 [確定]
  4. 在執行 Fiddler 時重現緩慢。
  5. 選取 [檔案]>[儲存>所有會話],將所有會話儲存為 .saz 檔案。

Microsoft Edge 或 Chrome 瀏覽器可以直接收集 HAR 追蹤。 若要收集 HAR 追蹤,請遵循下列步驟:

  1. 開啟瀏覽器,然後選取 F12 以開啟開發人員工具。
  2. 選擇 [網路>保留記錄檔
  3. 重現緩慢問題。
  4. 選取 [匯出 HAR],將追蹤儲存為 .HAR 檔案。 .HAR 檔案可以匯入 Microsoft Edge 或 Chrome,以供稍後檢閱。

失敗的要求追蹤 (FREB) 記錄

FREB 記錄可協助識別 IIS 模組處理要求所花費的時間最長。 它可以識別驗證速度緩慢或應用程式程序代碼本身。

失敗的要求追蹤是 IIS 模組。 安裝追蹤模組時,可以使用它。 您可以從伺服器管理員或執行下列 PowerShell 命令來安裝追蹤:

Add-WindowsFeature -Name Web-Http-Tracing 

設定 FREB 規則之前,請先檢查 W3SVC 記錄,以識別需要很長的時間才能完成的要求。 識別使用 cs-uri-stemtime-taken 字段變慢的個別頁面要求。

  • 如果可以識別一些速度緩慢的特定頁面,為特定頁面或頁面建立 FREB 規則。 如果建立特定頁面的規則,請勿在 FREB 規則中使用時間。 請改用來自 W3SVC 記錄的狀態代碼。

  • 如果您無法識別要建立 FREB 規則的特定頁面,您可以使用所有內容,並 改為指定 FREB 規則 所花費的時間,這可讓您記錄完成超過指定時間的所有要求。

    備註

    這個方法可能會為您提供誤判。 另請注意,根據所花費的時間建立 FREB 記錄時,記錄會在要求到達指定的時間時結束。 如果指定的時間太短,您將無法識別發生緩慢之處。

問題正在進行中、重現容易或頻繁

備註

某些狀態代碼規則所觸發的 FREB 記錄,提供在要求存留期內沿著 IIS 管線發生的所有模組檢視,以及每個模組所花費的時間。

由特定花費時間值規則所觸發的 FREB 記錄(例如 20 秒)只會顯示該值的資訊,這表示此要求超過此時間的任何專案都無法在記錄檔中使用。

  • 如果在某個延遲之後收到回應(例如 30 秒),請遵循下列步驟來診斷問題:

    1. 檢查已接收回應的狀態代碼。

      使用瀏覽器開發人員工具或 IIS 記錄來判斷延遲回應的狀態代碼。

    2. 根據步驟 1 的狀態代碼設定 FREB

    3. 檢視產生的 FREB 以瞭解哪一個模組造成緩慢。

      如果您不熟悉如何解譯 FREB,請參閱 讀取 FREB 記錄檔、失敗的要求追蹤:IIS 要求處理管線執行

    如果您發現某些第三方模組造成緩慢,請連絡第三方以調查問題。 不過,如果速度緩慢是因為您的應用程式程式代碼所造成,您需要收集記憶體轉儲以進行進一步調查。

  • 如果完全未收到任何回應(完全停止回應),或在很長一段時間后收到,請遵循下列步驟來診斷問題:

    1. 根據特定時間規則設定 FREB。

      您為 FREB 記錄設定的時間閾值應該高於回應的正常時間或可接受的時間。 如果您知道回應需要 10 秒,請設定較高的數位,例如 20 秒或 30 秒。

    2. 繼續進行上述相同的分析步驟。

此問題間歇性或難以重現

如果問題間歇性或難以重現,則等候它再次發生只是收集 FREB 記錄可能會沒有效率。 重新發生問題可能需要數周或數月的時間,而且如果 FREB 記錄不足,您必須再次等候以收集記憶體轉儲。 若要避免此延遲,建議您在第一次發生問題時產生記憶體轉儲。

如果要求通常需要毫秒,但偶爾需要 1 或幾秒鐘的時間,調查此緩慢可能會很困難。 在這類緩慢期間產生記憶體轉儲可能並不實用,因為:

  • 調試程式會增加額外負荷,這可能會導致速度變慢。
  • 原始緩慢和額外負荷可能會重疊。
  • 在要求存留期內產生多個記憶體轉儲可能無法在一開始。

您可以 改為使用 PerfView 收集 ETW 追蹤。 不過,如果時間太分散,而不是專注於特定作業,您仍可能會非常有限地進行調查。

請一律檢查 IIS 記錄中是否有非常慢的要求,並對其進行疑難解答,因為這可能會間接解決較短的緩慢問題。

根據所花費時間收集 FREB 記錄的詳細步驟

這很重要

若要設定 FREB 記錄,請確定已安裝 IIS 的 追蹤 角色服務。

若要安裝 IIS 的 追蹤 角色服務,請遵循下列步驟:

  1. 開啟 伺服器管理員,然後選取 [管理>新增角色和功能]。
  2. 在 [ 新增角色和功能精靈 ] 視窗中,選取 [下一步] ,直到您到達 [ 伺服器角色] 頁面。
  3. 展開 [Web 伺服器][IIS]>[Web 伺服器>健康情況和診斷],然後選取 [追蹤] 複選框。
  4. 針對 後續步驟選取 [下一步 ],然後選取 [ 安裝]。

安裝追蹤角色服務之後,請遵循下列步驟來擷取 FREB:

  1. 開啟 [ 執行 ] 命令視窗。

  2. 啟動 inetmgr

  3. 在 [IIS 管理員] 的 [ 連線 ] 窗格底下,展開計算機名稱、[ 臺],然後選取目標網站。

    IIS 管理員中目標網站的螢幕快照。

  4. 按兩下 [失敗的要求追蹤規則]。

    默認網站首頁的螢幕快照。

  5. 在 [ 動作] 窗格中,選取 [ 新增]。

  6. 在 [新增失敗的要求追蹤規則精靈] 的 [指定內容至追蹤] 頁面上,選取 [>。

    [新增失敗要求追蹤規則] 視窗中 [指定內容至追蹤] 頁面的螢幕快照。

  7. [定義追蹤條件] 頁面上,根據您注意到要求或頁面的時間,更新 [[] 字段所花費的時間,然後選取 [下一步]

    例如,如果要求通常少於一秒,但現在需要 20 秒的時間,請在 [ 取用時間] 字段中輸入 20

  8. 在 [選取追蹤提供者] 頁面的 [提供者] 底下,選取所有複選框。 在 [ 區域] 下,確定已為每個提供者選取所有複選框。 在 [詳細資訊],選取 [詳細資訊]。 選取 完成

  9. 開啟 月臺的失敗要求追蹤 並設定記錄檔目錄:

    1. 在 [ 連線] 窗格中,展開計算機名稱、[ 月臺],然後選取 [ 默認網站]。

    2. 在 [動作] 窗格的 [設定] 底下,選取 [失敗的要求追蹤]。

      [失敗要求追蹤] 選項的螢幕快照。

    3. 在 [編輯網站失敗要求追蹤設定] 對話框中,選取 [啟用] 複選框,將 [目錄] 字段設定為 %SystemDrive%\inetpub\logs\FailedReqLogFiles,並將追蹤檔案數目上限設定1000

      [編輯網站失敗要求追蹤設定] 視窗的螢幕快照。

    4. 請選擇 [確定]

完整使用者模式進程傾印

當要求緩慢或停止回應時,一系列進程傾印(2-4)可能會告訴您應用程式中的哪個方法呼叫速度很慢。 它也可能表示遠端 Web 服務或後端資料庫的遠端要求延遲。

問題很容易重現

如果問題可以重現或目前發生,您可以擷取裝載應用程式集區之背景工作進程的數個手動傾印。

嘗試將空間傾印相隔約 30 秒,但請注意完全緩慢。 如果緩慢的總期間較短(例如總計 20 到 30 秒),空間傾印會更接近一起,以在緩慢期間內容納至少兩個傾印。

您可以選擇性地使用 ProcDump,尤其是在您無法在伺服器上安裝 DebugDiag 或安裝時需要它。

如果問題更間歇性,請考慮同時擷取 FREB 追蹤和傾印。 或者,如果使用 ProcDump 比較容易,請遵循 設定 FREB 中的步驟,使用 ProcDump.exe 區段來觸發記憶體傾印(設定 FREB 以取得時間,而不是狀態代碼)。

問題無法輕易重現

如果問題無法輕易重現,您可以使用 FREB 規則來根據所花費的時間產生傾印。 如需詳細資訊,請參閱 使用 FREB 在長時間執行的要求上產生傾印

這很重要

設定 FREB 以取得所花費的時間時,請根據回應速度慢而調整所花費的時間觸發程式。 這可確保只會擷取有問題的要求,並將誤判降到最低。

偵測到死結停止回應

謹慎

  • 如果速度緩慢伴隨著高 CPU,請避免在 CPU 使用量極高時收集記錄(例如,>=95),因為這可能會造成伺服器停止回應或因為 CPU 資源不足而無法收集記錄。

  • 如果手動收集記錄,請確定CPU使用量低於閾值,以利 RDP 存取伺服器。 如有需要,請嘗試在收集記錄之前回收應用程式集區,但請注意對現有要求的影響,並向客戶說明。

  • 如果 CPU 在回收後幾秒鐘內達到這類值,請考慮減少對進程的負載(無論是負載測試還是生產負載)。

  • 同樣地,如果速度緩慢伴隨著高記憶體,請嘗試盡可能避免在高 w3wp.exe 記憶體耗用量收集記憶體傾印,例如 >10GB(或總伺服器記憶體耗用量 > 95%)。 如果問題可以在較低的記憶體中重現,請考慮回收應用程式集區,或在上述有助於時減少負載。

  • 請勿使用任務管理員收集傾印。 雖然有時候產生的傾印很實用,但在許多情況下,這些傾印並不實用。 更特殊的工具,例如 DebugDiag 和 Procdump,可以進一步了解 Managed 程式碼,並提供更詳細的資訊,特別與 ASP.NET 應用程式相關。 此外,這兩個工具會負責處理程式位,您不需要擔心。 而在任務管理器中,如果使用任務管理器 64 位進程來產生 32 位進程的傾印,反之亦然,則傾印是無用的。

其他數據

視需要收集下列資料選項:

  • PerfView 追蹤

    PerfView 有助於隔離 Web 應用程式本身效能緩慢的問題。 PerfView 追蹤會在緩慢期間收集。 這些追蹤會顯示速度緩慢的個別方法或函式。

  • 網路追蹤記錄

    追蹤緩慢的頁面回應和與網路問題相關聯的停止回應時,網路追蹤會很有説明。

  • 性能監視器記錄

    追蹤頁面回應緩慢,且與高 CPU 或高記憶體使用量相關聯的停止回應時,PerfMon 記錄會很有説明。

時間觸發程序數量

若要解決此問題,請務必判斷觸發產生記憶體轉儲的適當時間值。

這牽涉到瞭解因特網資訊服務 (IIS) 記錄的回應時間,當問題存在且不存在時。

若要識別適當的時間觸發程式,請遵循下列步驟:

  1. 檢閱 IIS 記錄:

    分析各種時間範圍的 IIS 記錄,以觀察響應時間。 識別正常情況下預期的回應時間。

  2. 識別回應時間差異:

    發生問題時,請注意最小、最大值和最常見的響應時間。

  3. 設定觸發目標:

    目標是在慢速要求作用中期間產生至少兩個連續的記憶體傾印。

    例如,如果回應通常需要 10 秒的時間,請將焦點放在超過此持續時間的響應時間。 如果問題導致響應時間延長至 60 秒以上,請以 30、40 和 50 秒等間隔擷取記憶體轉儲。

  4. 避免誤判:

    請務必不要在 11 或 12 秒等稍微較高的時間起始記憶體轉儲,因為這可能會導致誤判。 目標是在有問題的期間擷取傾印,而不會過早地結束要求。

  5. 識別傾印的時間:

    請確定傾印不會在要求的存留期結束時觸發,因為要求可能會在產生後續傾印之前完成。

  6. 評估最常見的慢速回應:

    如果未經常發生最慢的回應時間,請將焦點放在 IIS 記錄中觀察到的最常見緩慢回應時間。

備註

  • 您可能需要多次嘗試,才能取得一組有用的記憶體轉儲。
  • 請確定您在選取的磁碟驅動器上有足夠的空間來存放產生的記憶體轉儲。 每個記憶體轉儲的大小與產生時的進程相同。 因此,例如,如果在產生記憶體轉儲時進程的大小為1GB,則產生三個傾印需要4 GB的空間。

使用 DebugDiag 手動產生記憶體轉儲

如果您可以觸發緩慢的要求,並知道在開始產生記憶體轉儲之前暫停多久,請遵循下列步驟。

如果您無法觸發要求(例如,用戶端是行動應用程式,您無法存取它,而且問題不能只從瀏覽器重現),但透過某種方式知道問題何時發生,請遵循下列步驟來確認速度緩慢:

  1. 請遵循下列步驟來啟用要求監視器:

    1. 開啟 [伺服器管理員] 。
    2. 選取右上角 [管理],然後選取 [[新增角色和功能]>[下一步]
    3. 在 [[新增角色及功能精靈] 視窗中,選取 [角色型或功能型安裝>[下一步]
    4. 從伺服器集區選擇您想要設定的伺服器。
    5. 在 [選取伺服器角色] 區段中,展開 [Web Server>Web Server>Health and Diagnostics
    6. 在 [健全狀況和診斷]下,選取 [要求監視器] 複選框。
    7. 選取 [[下一步]>[下一步]>[安裝] 以啟用 [要求監視器] 功能。

安裝完成之後,您可能需要重新啟動 IIS。 您可以開啟命令提示字元並輸入 iisreset.exe來重新啟動它。

  1. 開啟 [IIS 管理員],然後選取左側的伺服器名稱。
  2. 按兩下 [ 背景工作進程]。
  3. 按兩下有問題的應用程式集區,然後選取 [時間經過] 資料行。

如需詳細資訊,請參閱 使用RSCA來協助您瞭解 IIS 伺服器要求

如果確認速度緩慢,請手動擷取記憶體轉儲。 不過,這並不保證傾印在其存留期內包含相同的問題要求,因此,如果手動進行傾印,可能需要多次嘗試(即使自動化,有時需要多次嘗試)。

若要手動進行記憶體轉儲,請遵循下列步驟:

  1. 下載並安裝 偵錯診斷工具 v2 Update 3.2

  2. 發生記憶體流失時,請從 [開始] 功能表開啟 DebugDiag 2 集合

    DebugDiag 2 集合的螢幕快照。

    備註

    如果您需要變更產生傾印的路徑,請選取 >>] [手動使用者傾印儲存資料夾] 加以變更。

  3. 選取 [ 行程] 索引標籤。

  4. 找出具有有問題的應用程式的 [行程標識符] 資料行的 w3wp 進程。

    將 取代<PID>為面臨高記憶體問題之w3wp.exe進程的實際 PID。 如需如何取得 PID 的詳細資訊,請遵循識別高記憶體使用量中的步驟。

  5. 以滑鼠右鍵按兩下 w3wp 程式,選取 [ 建立使用者傾印數列],然後設定下列選項(視需要調整數位)。 請勿選取 [ 儲存並關閉]。

    [設定 UserDump 系列] 的螢幕快照。

  6. 重現緩慢,並在要求變慢時選取 [儲存 & 關閉 ]

    如果您不知道如何重現慢速,而且速度很快且經常發生,請等到慢速開始,再選取 [儲存 & 關閉]。 選取 [儲存 & 關閉 後,傾印就會立即開始收集。

設定 FREB 以使用 ProcDump.exe 觸發記憶體轉儲

本節提供如何設定失敗要求追蹤規則 (FREB) 以使用 ProcDump.exe觸發記憶體轉儲的逐步指示。 當您無法在伺服器上安裝特定應用程式,例如 DebugDiag 時,此方法特別有用。

請遵循下列步驟,將 FREB 設定為執行自定義動作,例如 ProcDump.exe,以在符合特定規則時產生記憶體轉儲。

  1. 在適當的要求時間值上設定 FREB。 請務必設定所花費的時間規則,而不是狀態代碼。

  2. 請遵循下列步驟來啟用自訂動作:

    1. 開啟 [IIS 管理員],然後選取畫面左側的伺服器名稱。

    2. 按兩下 組態編輯器 圖示。

    3. 流覽至 [applicationHost/sites] 區段,然後選取 [... [省略號] 按鈕。

      組態編輯器的螢幕快照。

    4. 選取您已新增失敗追蹤規則的網站。

      集合編輯器的螢幕快照。

    5. 將 customActionsEnabled 設定為 true

    6. 下載 ProcDump,並將可執行檔複製到 C:\procDump 路徑。 在 C:\ 磁碟驅動器下,建立名為 myDumps 的目錄。

      警告

      您必須將 ProcDump 工具放在不包含空格符的資料夾路徑中。 否則,不可能透過 FREB 執行 ProcDump。 例如,C:\procDump 是良好的路徑資料夾,C:\Process Dump 不是。

  3. 指定 ProcDump 的自訂動作:

    1. 在伺服器或月臺層級指定動作,然後選取 [...] 按鈕,如下列螢幕快照所示:

      伺服器層級組態編輯器的螢幕快照。

    2. 選取 [動作] 窗格底下的 [新增] 鏈接,然後填入屬性,如下列螢幕快照所示:

      集合編輯器中屬性的螢幕快照。

      • CustomActionExe:將值設定為 ProcDump 可執行文件的路徑。

      • customActionParams:將值設定為 -accepteula -ma %1% C:\myDumps -n 3

        此命令會產生三個連續傾印,以10秒為單位。 如果您需要變更間距,請新增 -s 後面接著秒數。

資料分析

本節提供如何使用各種工具來分析數據,以針對 IIS 中的緩慢頁面回應和停止響應問題進行診斷和疑難解答的指引。

IIS Web 記錄 (W3SVC 記錄)

當您分析 W3SVC 記錄時,有幾個目標。

  • 確認要求執行速度緩慢。 檢閱所花費的時間值,以確認要求執行所花費的時間長度。
  • 識別哪些頁面執行速度緩慢。 搭配使用時間,請使用 cs-uri-stem 值來依名稱識別緩慢的頁面。

所花費的時間會以毫秒為單位記錄。 1000 毫秒 = 1 秒。 尋找需要超過 30 秒才能完成的要求時,尋找大於 30,000 毫秒的耗時值。

有兩個工具來分析 W3SVC 記錄,ExcelLog Parser 2.2

使用 Excel 分析單一 W3SVC 記錄

若要使用 Excel 分析單一 W3SVC 記錄檔,請遵循下列步驟:

  1. 在 Excel 中開啟 W3SVC 記錄。
  2. 選取並刪除前三個數據列(全部都應該以 # 符號開頭)。 請務必保留以 #Fields開頭的數據列。
  3. 選擇資料列 A。從 [資料] 功能區中,選取 [[文字到數據行]
  4. [將文字轉換成數據行精靈]中,選取 [分隔>[下一步]
  5. 在 [分隔符] 中,選取 [空格] 複選框並清除任何其他檢查,然後選取 [完成 完成]。
  6. 選取 A1 的儲存格,以滑鼠右鍵按鍵按下它,然後從作選單中選取 [刪除 ]。
  7. 出現提示時,選取左 Shift 單元格
  8. 選擇資料列 1。 從 [數據] 功能區中,選取 [篩選 ]。

現在,您可以使用篩選條件來識別大於所需秒數的所有要求。

使用記錄剖析器分析多個 W3SVC 記錄

如果您有多個記錄要分析,或 Excel 無法開啟的單一記錄檔,請考慮使用 Log Parser 2.2 (Microsoft 下載中心)。 這是一個功能強大的工具,可讓您執行 SQL 樣式查詢,以從各種類型的記錄檔擷取數據,包括 W3SVC 記錄。

若要使用 Log Parser 2.2,請遵循下列步驟:

  1. 下載並安裝 Log Parser 2.2 (Microsoft 下載中心)

  2. 開啟命令提示字元並瀏覽至記錄剖析器安裝目錄。

  3. 命令提示字元 視窗中執行查詢。 以下是一些查詢範例:

    • 最上層要求的頁面

      "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" -i:W3C -o:CSV "SELECT TOP 100 cs-uri-stem as URL-Requested, COUNT(*) AS Num-Requests, MAX(time-taken) As Max-Time-Taken, MIN(time-taken) As Min-Time-Taken, Avg(time-taken) As Average-Time-Taken FROM *.log GROUP BY URL-Requested ORDER By Num-Requests DESC" -q:ON > Top100Pages.csv 
      
    • 最慢的頁面

      REM "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" -i:W3C -o:CSV "SELECT TOP 25 cs-uri-stem as URL-Requested, COUNT(*) AS Num-Requests, MAX(time-taken) As Max-Time-Taken, MIN(time-taken) As Min-Time-Taken, Avg(time-taken) As Average-Time-Taken FROM *.log GROUP BY URL-Requested ORDER By Average-Time-Taken DESC" -q:ON > Slowest25Pages.csv 
      
    • 超過15秒的所有要求

      REM "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" -i:W3C -o:W3C "SELECT * FROM *.log WHERE Time-Taken > 14999 ORDER BY Time-Taken DESC" -q:ON > LongRunningRequests.log 
      

來自 Microsoft Edge 或 Chrome 的 Fiddler 追蹤或 HAR 追蹤

Fiddler Classic 有幾個選項可用來檢視效能資訊。 在 Fiddler 中收集追蹤之後,您可以檢閱 Fiddler 中的 .saz 檔案。 Fiddler 中有兩個相關的索引標籤。 第一個是 [統計數據 ] 索引標籤。在追蹤中選取多個要求(或框架),而 [統計數據] 索引標籤會在簡單的摘要頁面中提供一些效能統計數據。

疑難解答效能問題的第二個 Fiddler 索引標籤是 [時間軸 ] 索引標籤 索引標籤。選取追蹤中的 時間軸 索引標籤和多個要求(或框架),您會看到條形圖,描述用戶端接收每個要求回應所需的時間。

F12 開發人員工具內建於 Microsoft Edge 和 Chrome 中。 在無法安裝 Fiddler Classic 的情況下,這些工具可能已可供客戶進行疑難解答。 F12 開發人員工具類似於 Fiddler,因為它們提供所提出要求的客戶端檢視。 開發人員工具 HAR 檔案會顯示網路報表頂端的時程表,提供瀏覽器等候個別要求的時間可視化表示法。 HAR 檔案也會顯示 TIME 數據行,以協助識別緩慢的要求。

失敗的要求追蹤 (FREB) 記錄

FREB 追蹤會 .xml 檔案,並以 FREB 記錄目錄中 .xsl 樣式表單格式化。 使用 FrebSbS 之類的工具來檢視這些記錄。 如需如何讀取 FREB 記錄的詳細資訊,請參閱 讀取 FREB 記錄、失敗的要求追蹤:IIS 要求處理管線執行

完整記憶體轉儲

DebugDiag 2 Analysis 應用程式可以分析傾印是否有停止回應或效能問題。

若要在停止響應的情況下分析單一傾印,請遵循下列步驟:

  1. 使用 [[新增數據檔] 按鈕,將傾印載入 DebugDiag 2 Analysis。
  2. 選取 [CrashHangAnalysis]。
  3. 選取開始分析
  4. 當 DebugDiag 完成其分析時,報表會在 Microsoft Edge 中開啟。

若要分析效能問題中的一系列傾印,請遵循下列步驟:

  1. 使用 [[新增數據檔] 按鈕來新增相同程式的多個傾印
  2. 選取 PerfAnalysis
  3. 選取開始分析
  4. 當 DebugDiag 完成其分析時,報表會在 Microsoft Edge 中開啟。

一次只執行一種分析規則是更簡單且更容易理解的。

備註

如果需要更詳細的分析,請使用 WinDbg 來檢閱傾印。

協力廠商資訊免責聲明

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft不會對這些產品的效能或可靠性進行默示或其他擔保。