監視 Azure App Service 中的應用程式

Azure App 服務 為 Azure 入口網站 中的 Web 應用程式、行動裝置和 API 應用程式提供內建的監視功能。

在 Azure 入口網站 中,您可以檢閱應用程式和 App Service 方案的配額計量,以及設定警示自動調整規則型計量。

瞭解配額

裝載於App Service 中的應用程式受限於其可使用之資源的特定限制。 限制是由與應用程式相關聯的App Service 方案所定義。

注意

App Service Free 和 Shared (預覽) 服務方案是在與其他 App Service 應用程式相同的 Azure 虛擬機上執行的基層。 某些應用程式可能屬於其他客戶。 這些層僅供開發和測試之用。

如果應用程式裝載在 免費共用 方案中,應用程式可以使用的資源限制是由配額所定義。

如果應用程式裝載在「基本」、「標準」或「進階版 方案」中,可以使用的資源限制會依 App Service 方案的大小(小型、中型、大型)和實例計數(1、2、3 等等)來設定。

免費或共用應用程式的配額如下:

配額 描述
CPU (簡短) 此應用程式在 5 分鐘間隔內允許的 CPU 數量。 此配額每隔五分鐘重設一次。
CPU (日) 此應用程式一天內允許的CPU總數。 此配額會在 UTC 午夜每 24 小時重設一次。
記憶體 此應用程式允許的記憶體總數。
頻寬 此應用程式一天內允許的傳出頻寬總數。 此配額會在 UTC 午夜每 24 小時重設一次。
允許的記憶體總量。

唯一適用於裝載於基本標準和 進階版 的應用程式配額為 Filesystem。

如需各種 App Service SKU 可用的特定配額、限制和功能的詳細資訊,請參閱 Azure 訂用帳戶服務限制

強制執行配額

如果應用程式超過 CPU(short)CPU(Day)頻寬 配額,應用程式就會停止,直到重設配額為止。 在此期間,所有連入要求都會導致 HTTP 403 錯誤。

403 錯誤訊息

如果超過應用程式記憶體配額,應用程式會暫時停止。

如果超過檔案系統配額時,任何寫入作業都將會失敗。 寫入作業失敗包括記錄的任何寫入。

您可透過升級 App Service 方案來增加或刪除應用程式的配額。

了解計量

重要

平均回應時間將會被取代,以避免和計量彙總產生混淆。 使用回應時間作為取代。

注意

應用程式的計量包括對應用程式的 SCM 網站(Kudu) 的要求。 這包含使用 Kudu 檢視網站 logstream 的要求。 Logstream 要求可能會花費數分鐘的時間,而這會影響到要求時間的計量。 在搭配自動調整邏輯使用這些計量時,使用者應該注意此關聯性。

Http 伺服器錯誤 只會記錄到達後端服務的要求(裝載應用程式的背景工作角色)。 如果要求在 FrontEnd 失敗,則不會記錄為 Http 伺服器錯誤。 健康情況檢查功能 /Application Insights 可用性測試可用於監視外部。

計量提供有關應用程式或 App Service 方案行為的資訊。

針對應用程式,可用的計量如下:

計量 描述
回應時間 應用程式提供要求所花費的時間,以秒為單位。
平均回應時間(已淘汰) 應用程式處理要求的平均時間,以秒為單位。
平均記憶體工作集 應用程式所使用的平均記憶體數量,以 MB 為單位(MiB)。
關係 沙箱中現有的系結套接字數目(w3wp.exe及其子進程)。 系結套接字是藉由呼叫 bind()/connect() API 所建立,且會維持在上述套接字與 CloseHandle()/closesocket()關閉之前。
CPU 時間 應用程式耗用的CPU數量,以秒為單位。 如需此計量的詳細資訊,請參閱 CPU 時間與 CPU 百分比
Current Assemblies 此應用程式中所有 AppDomains 上載入的目前元件數目。
數據 In 應用程式在MiB中耗用的傳入頻寬量。
數據輸出 應用程式在MiB中耗用的傳出頻寬量。
檔案系統使用方式 依記憶體共用以位元組為單位的使用量。
Gen 0 垃圾收集 自應用程式程序開始以來,第0代物件被垃圾收集的次數。 較高世代的DC包含所有較低世代的DC。
Gen 1 垃圾收集 自應用程式程序開始以來,第1代物件的垃圾收集次數。 較高世代的DC包含所有較低世代的DC。
Gen 2 垃圾收集 自應用程式程序開始以來,第 2 代物件的垃圾收集次數。
句柄計數 應用程式進程目前開啟的句柄總數。
健康情況檢查狀態 App Service 方案中應用程式實例的平均健康情況狀態。
Http 2xx 導致 HTTP 狀態代碼≥ 200 但 < 300 的要求計數。
Http 3xx 導致 HTTP 狀態代碼≥ 300 但 < 400 的要求計數。
Http 401 導致 HTTP 401 狀態代碼的要求計數。
Http 403 導致 HTTP 403 狀態代碼的要求計數。
Http 404 導致 HTTP 404 狀態代碼的要求計數。
Http 406 導致 HTTP 406 狀態代碼的要求計數。
Http 4xx 導致 HTTP 狀態代碼≥ 400 但 < 500 的要求計數。
Http 伺服器錯誤 導致 HTTP 狀態代碼≥ 500 但 < 600 的要求計數。
每秒 IO 其他位元元組數 應用程式進程向不涉及數據的 I/O 作業發出位元組的速率,例如控制作業。
每秒 IO 其他作業數 應用程式進程發出不是讀取或寫入作業的 I/O 作業的速率。
每秒 IO 讀取位元元組數 應用程式進程從 I/O 作業讀取位元組的速率。
每秒的 IO 讀取作業數 應用程式進程發出讀取 I/O 作業的速率。
每秒 IO 寫入位元元組數 應用程式進程將位元組寫入I/O 作業的速率。
每秒 IO 寫入作業數 應用程式進程發出寫入 I/O 作業的速率。
記憶體工作集 應用程式目前在MiB中使用的記憶體數量。
私用位元組 Private Bytes 是應用程式進程已配置且無法與其他進程共用的記憶體目前大小,以位元組為單位。
要求 不論其產生的 HTTP 狀態代碼為何,要求總數。
應用程式佇列中的要求 應用程式要求佇列中的要求數目。
線程計數 應用程式進程中目前作用中的線程數目。
應用程式網域總計 此應用程式中載入的AppDomains目前數目。
已卸除的應用程式網域總數 自應用程式啟動時卸除的AppDomains總數。

針對 App Service 方案,可用的計量如下:

注意

App Service 方案計量僅適用於基本標準進階版隔離層中的方案。

計量 描述
CPU 百分比 計劃所有實例所使用的平均CPU。
記憶體百分比 計劃所有實例所使用的平均記憶體。
數據 In 方案所有實例所使用的平均傳入頻寬。
數據輸出 方案所有實例所使用的平均傳出頻寬。
磁碟佇列長度 在記憶體上排入佇列的讀取和寫入要求平均數目。 高磁碟佇列長度表示應用程式可能會因為磁碟 I/O 過多而變慢。
Http 佇列長度 完成之前必須放在佇列上的 HTTP 要求平均數目。 高或增加的 HTTP 佇列長度是負載過重的計劃徵兆。

CPU 時間與CPU百分比

有兩個計量反映CPU使用量:

CPU 時間:適用於免費或共用方案中裝載的應用程式,因為其中一個配額是在應用程式所使用的 CPU 分鐘數中定義。

CPU 百分比:適用於裝載於基本、標準和 進階版 方案中的應用程式,因為它們可以相應放大。CPU 百分比是所有實例整體使用量的良好指示。

計量粒度和保留原則

應用程式和 App Service 方案的計量會由服務記錄和匯總,並根據 這些規則保留。

監視 Azure 入口網站 中的配額和計量

若要檢閱影響應用程式的各種配額和計量狀態,請移至 Azure 入口網站

Azure 入口網站 中的配額圖表

若要尋找配額,請選取 [設定> Quotas]。 在圖表上,您可以檢閱:

  1. 配額名稱。
  2. 其重設間隔。
  3. 其目前限制。
  4. 其目前值。

Azure 入口網站 中的計量圖表您可以直接從資源 [概觀] 頁面存取計量。 在這裡,您會看到代表一些應用程式計量的圖表。

按兩下上述任何圖表,即可前往計量檢視,您可以在其中建立自定義圖表、查詢不同的計量等等。

若要深入瞭解計量,請參閱 監視服務計量

警示和自動調整

應用程式或 App Service 方案的計量可以連結至警示。 如需詳細資訊,請參閱 接收警示通知

裝載在基本或更高 App Service 方案中的 App Service 應用程式支援自動調整。 透過自動調整,您可以設定監視 App Service 方案計量的規則。 規則可以增加或減少實例計數,以視需要提供額外的資源。 當應用程式過度布建時,規則也可以協助您節省成本。

如需自動調整的詳細資訊,請參閱如何調整 Azure 監視器自動調整規模和最佳做法。