共用方式為


監視適用於 MySQL 的 Azure 資料庫彈性伺服器

適用於:適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

注意

本文包含「從屬」一詞的參考,Microsoft 已不再使用該字詞。 從軟體中移除該字詞時,我們也會將其從本文中移除。

適用於 MySQL 的 Azure 資料庫彈性伺服器可透過 Azure 監視器進行監視作業。 監視伺服器的相關資料,可協助您疑難排解並最佳化您的工作負載。

在本文中,您會了解彈性伺服器的各種可用計量與伺服器記錄,如何協助您深入分析伺服器的行為。

計量

計量為數值,用於描述伺服器資源在特定時間某些層面的情況。 監視伺服器資源中對您而言最重要的項目,有助於對工作負載進行疑難排解及最佳化。 監視正確的計量,則可協助您維持伺服器和應用程式的效能、可靠性和可用性。

適用於 MySQL 的 Azure 資料庫彈性伺服器提供多種計量,可協助您了解工作負載的效能。 根據這項資料,您可以了解伺服器和應用程式遭受的影響。

所有 Azure 計量都有一分鐘的頻率,分別提供 30 天的歷程記錄。 您可以在計量上設定警示。 查閱如何設定警示。 其他工作包含設定自動化動作、執行進階分析,以及封存記錄。 如需詳細資訊,請參閱 Azure 計量概觀

對計量進行疑難排解

有時,在 Azure 計量瀏覽器中建立、自訂或解譯圖表時會遇到問題。
圖表可能因各種因素而無法顯示任何資料。 這因素可能包括 Microsoft Insights 資源提供者未在您的訂用帳戶中註冊,或您沒有足夠的權限存取適用於 MySQL 的 Azure 資料庫 – 彈性伺服器。 還有可能是您的資源未在所選時間範圍內產生計量,或選取的時間範圍超過 30 天。

下列幾個原因可能會導致此問題:

  • Microsoft.Insights 資源提供者未註冊:必須在您的訂用帳戶中註冊 Microsoft.Insights 資源提供者,才能瀏覽計量。 請遵循 Azure 資源提供者和類型中所述的步驟,手動註冊您的伺服器。
  • 資源訪問權限權不足:請確定您對適用於 MySQL 的 Azure 資料庫彈性伺服器有足夠的權限,可以探索計量。 您的資源在選取的時間範圍內未發出計量 將圖表的時間變更為更大的範圍。 在 Azure 中,計量的存取權由 Azure 角色型存取控制 (Azure RBAC) 所控制。 您必須是監視讀者監視參與者參與者的成員,才能瀏覽任何資源的計量。
  • 您的資源未在選取的時間範圍內發出計量:有多種原因可能造成這種情況。 其中一種原因是您的資源未在所選的時間範圍內產生計量。 為圖表設定更廣的時間範圍,然後查看是否可解決此問題。 如需有關對此問題進行疑難排解的詳細資訊,請參閱<Azure 監視器計量疑難排解指南>。
  • 時間範圍超過 30 天:確認時間選擇器中的開始與結束日期之間的差距未超過 30 天。 如需有關對計量進行疑難排解的詳細資訊,請參閱<Azure 監視器計量疑難排解指南>。
  • 虛線指示:在 Azure 監視器中,虛線表示兩個已知時間精細度資料點之間存在資料缺口或「Null 值」。 這是一種刻意的設計,可協助偵測遺漏的資料點。 如果您的圖表顯示虛線,表示存在資料遺漏。 請參閱文件以取得更多資訊。

如需有關對計量進行疑難排解的詳細資訊,請參閱<Azure 監視器計量疑難排解指南>。

注意

標示為已淘汰的計量會被排程從 Azure 入口網站中移除。 監視適用於 MySQL 的 Azure 資料庫彈性伺服器時,應該忽略這些計量。

計量清單

這些計量可供適用於 MySQL 的 Azure 資料庫彈性伺服器使用:

計量顯示名稱 計量 單位 描述
MySQL 執行時間 運作時間 此計量表示 MySQL 伺服器執行的時間長度。
主機 CPU 百分比 cpu_percent Percent 主機 CPU 百分比是 CPU 的總使用率,可處理伺服器上所選期間的所有工作。 此計量包含適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體和 Azure MySQL 程序的工作負載。 高 CPU 百分比可協助您發現資料庫伺服器的工作負載是否比可處理的工作負載還多。 此計量相當於總 CPU 使用率,類似於任何虛擬機器上的 CPU 使用率。
已耗用的 CPU 點數 cpu_credits_consumed 計數 這僅適用於高載層 系統會根據工作負載來計算 CPU 點數。 如需詳細資訊,請參閱 B 系列可高載虛擬機器大小
剩餘的 CPU 點數 cpu_credits_remaining 計數 這僅適用於高載層 系統會根據工作負載來計算 CPU 剩餘點數。 如需詳細資訊,請參閱 B 系列可高載虛擬機器大小
主機網路輸入 network_bytes_ingress Bytes 伺服器上所選取期間傳入網路流量的總和。 此計量包含流向資料庫的流量,以及流向適用於 MySQL 的 Azure 資料庫彈性伺服器功能 (例如監視、記錄等) 的流量。
主機網路輸出 network_bytes_egress Bytes 伺服器上所選取期間傳出網路流量的總和。 此計量包含來自資料庫的流量,以及來自適用於 MySQL 的 Azure 資料庫彈性伺服器功能 (例如監視、記錄等) 的流量。
使用中的連線數 active_connection 計數 伺服器的使用中連線數量。 作用中連線是連線到您伺服器的執行緒總數,其中也包含來自 azure_superuser 的執行緒。
儲存體 IO 百分比 io_consumption_percent Percent 所選期間內使用的 IO 百分比。 IO 百分比適用於讀取與寫入 IOPS。
儲存體 IO 計數 storage_io_count 計數 伺服器每分鐘的 I/O 作業 (讀取和寫入) 總計數。
記憶體百分比 memory_percent Percent 此計量表示 Azure MySQL (mysqld) 伺服器程序所佔用的記憶體百分比。 此計量是根據您地適用於 MySQL 的 Azure 資料庫彈性伺服器上可用的總記憶體大小 (GB) 計算。
總計連線數 total_connections 計數 適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的用戶端連線數目。 [連線總數] 是用戶端在所選期間內使用 TCP/IP 通訊協定進行的連線總和。
中止的連線 aborted_connections 計數 嘗試連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體但失敗的總次數,例如,因為認證不正確而失敗的連線。 如需有關中止連線的詳細資訊,請參閱此文件
查詢 筆查詢 計數 伺服器上每分鐘執行的查詢總數。 伺服器上來自資料庫工作負載和 Azure MySQL 程序的每分鐘查詢總數。
Slow_queries slow_queries 計數 所選時間範圍內伺服器上慢速查詢的總計數。
Active Transactions active_transactions 計數 此計量表示 MySQL 內的交易總數。 作用中交易包括所有已啟動但尚未提交或復原的交易。

儲存體明細計量

儲存體明細計量可讓您深入了解適用於 MySQL 的 Azure 資料庫彈性伺服器的儲存體使用情況。 這些計量可讓您詳細細分儲存空間限制、儲存空間百分比、使用的儲存空間、使用的資料儲存空間、使用的 ibdata1 儲存空間、使用的 binlog 儲存空間、使用的其他儲存空間,以及所使用的備份儲存空間。 監視這些計量,您可以有效地管理儲存體資源、優化儲存體配置,確保高效利用伺服器儲存體容量。 了解儲存體明細計量可協助您做出明智的決策,維護適用於 MySQL 的 Azure 資料庫彈性伺服器的效能和可用性。

下表列出適用於適用於 MySQL 的 Azure 資料庫彈性伺服器的儲存體明細計量:

計量顯示名稱 計量 單位 描述
儲存體限制 storage_limit Bytes 為此伺服器設定的儲存體大小上限。
儲存體百分比 storage_percent Percent 已使用的儲存體佔伺服器可用最大儲存體的百分比。
已使用的儲存體 storage_used Bytes 使用中的儲存體數量。 此服務所使用的儲存體可能包括資料庫檔案、交易記錄和伺服器記錄。
已使用的資料儲存體 data_storage_used Bytes 用於儲存資料庫檔案的儲存體數量。
已使用的 ibdata1 儲存體 ibdata1_storage_used Bytes 用於儲存系統資料表空間 (ibdata1) 檔案的儲存體數量。
已使用的 Binlog 儲存體 binlog_storage_used Bytes 用於儲存二進位記錄檔的儲存體數量。
已使用的其他儲存體 other_storage_used Bytes 用於其他元件和中繼資料檔案的儲存體數量。
已使用的備份儲存體 backup_storage_used Bytes 已使用的備份儲存體數量。

複寫計量

復寫計量可讓您深入了解適用於 MySQL 的 Azure 資料庫彈性伺服器中複寫的效能和狀態。 這些計量可讓您監視複寫延遲、檢查複本和 HA IO/SQL 執行緒的狀態,以及衡量複寫延遲程度。 追蹤這些計量,您可以確保複寫設定的可靠性與效率、找出任何潛在的問題或延遲,並採取適當的動作,以維護資料一致性和可用性。 我們來看看適用於 MySQL 的 Azure 資料庫彈性伺服器可用的各種不同複寫計量。

下表列出適用於適用於 MySQL 的 Azure 資料庫彈性伺服器的複寫計量:

計量顯示名稱 計量 單位 描述
複寫延遲 replication_lag 複寫延遲是複本在重新執行從來源伺服器收到的交易時所落後的秒數。 此計量是從 "SHOW SLAVE STATUS" 命令的 "Seconds_behind_Master" 計算而來,而且僅適用於複本伺服器。 如需相關資訊,請參閱監視器複寫代理程式
複本 IO 狀態 replica_io_running 州/省 複本 IO 狀態會指出複寫 I/O 執行緒的狀態。 如果 I/O 執行緒正在執行,則計量值為 1,如果未執行,則為 0。
復本 SQL 狀態 replica_sql_running 州/省 複本 SQL 狀態會指出複寫 SQL 執行緒的狀態。 如果 SQL 執行緒正在執行,則計量值為 1,如果未執行,則為 0。
HA IO 狀態 ha_io_running 州/省 HA IO 狀態會指出 HA 複寫的狀態。 如果 I/O 執行緒正在執行,則計量值為 1,如果未執行,則為 0。
HA SQL 狀態 ha_sql_running 州/省 HA SQL 狀態會指出 HA 複寫的狀態。 如果 SQL 執行緒正在執行,則計量值為 1,如果未執行,則為 0。
HA 複寫延遲。 ha_replication_lag HA 複寫延遲是 HA 待命伺服器在重新執行從來源伺服器收到的交易時所落後的秒數。 此計量是從 "SHOW SLAVE STATUS" 命令的 "Seconds_behind_Master" 計算而來,而且僅適用於 HA 待命伺服器。

增強型計量

除了適用於 MySQL 的 Azure 資料庫彈性伺服器所提供的標準計量之外,我們還提供增強的計量,幫助您深入了解伺服器的效能。 這些增強的計量會提供有關工作負載特定方面更細微的資訊。

DML 統計資料

DML (資料操作語言) 統計資料計量可讓您了解伺服器上執行的「選取」、「更新」、「插入」和「刪除」陳述式數目。 監視這些計量,您可以追蹤資料庫作業的使用情況和效能,並找出任何潛在的瓶頸或效率低下的問題。

計量顯示名稱 計量 單位 描述
Com_select Com_select 計數 所選時間範圍內伺服器上執行的「選取」陳述式總計數。
Com_update Com_update 計數 所選時間範圍內伺服器上執行的「更新」陳述式總計數。
Com_insert Com_insert 計數 所選時間範圍內伺服器上執行的「插入」陳述式總計數。
Com_delete Com_delete 計數 所選時間範圍內伺服器上執行的「刪除」陳述式總計數。

DDL 統計資料

DDL (資料定義語言) 統計資料計量提供伺服器上執行「建立資料庫」、「卸除資料庫」、「建立資料表」、「卸除資料表」,以及「變更資料表」陳述式的頻率相關資訊。 這些計量可協助您了解資料庫中架構變更的頻率和影響,以便最佳化資料庫設計並改善整體效能。

計量顯示名稱 計量 單位 描述
Com_create_db Com_create_db 計數 所選時間範圍內伺服器上執行的「建立資料庫」陳述式總計數。
Com_drop_db Com_drop_db 計數 所選時間範圍內伺服器上執行的「卸除資料庫」陳述式總計數。
Com_create_table Com_create_table 計數 所選時間範圍內伺服器上執行的「建立資料表」陳述式總計數。
Com_drop_table Com_drop_table 計數 所選時間範圍內伺服器上執行的「卸除資料表」陳述式總計數。
Com_Alter Com_Alter 計數 所選時間範圍內伺服器上執行的「變更資料表」陳述式總計數。

Innodb 計量

Innodb 計量關注 InnoDB 儲存引擎的效能,這是適用於 MySQL 的 Azure 資料庫彈性伺服器的預設引擎。 這些計量包括 InnoDB 資料列鎖定時間、InnoDB 資料列鎖定等候次數、Innodb 緩衝集區讀取數量、Innodb 緩衝集區讀取請求數量等等。 監視這些計量,您可以深入了解資料庫儲存體和快取機制的效率與有效性。

這些增強的計量提供寶貴的資訊,方便您優化工作負載,並改善適用於 MySQL 的 Azure 資料庫彈性伺服器的效能。 您可以利用這些計量,作出資料驅動型決策,來增強資料庫作業的可擴縮性、可靠性和效率。

計量顯示名稱 計量 單位 描述
InnoDB 資料列鎖定時間 innodb_row_lock_time 毫秒 InnoDB 資料列鎖定時間會以毫秒為單位來測量 InnoDB 資料列層級鎖定的持續時間。
InnoDB 資料列鎖定等候 innodb_row_lock_waits 計數 InnoDB 資料列鎖定等候計量會計算查詢獲得 InnoDB 資料列層級鎖定經歷的等候次數。
Innodb_buffer_pool_reads Innodb_buffer_pool_reads 計數 InnoDB 引擎無法從 Innodb 緩衝集區擷取,而必須從磁碟擷取的邏輯讀取總計數。
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests 計數 要從 Innodb 緩衝集區讀取的邏輯讀取要求總計數。
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free 計數 InnoDB 緩衝集區中可用頁面的總計數。
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data 計數 包含資料的 InnoDB 緩衝集區中頁面總計數。 數量包括已中途分頁和乾淨頁面。
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty 計數 InnoDB 緩衝集區中包含中途分頁的總頁數。
MySQL 歷程清單長度 trx_rseg_history_len 計數 此計量會計算資料庫中的變更數目,特別是包含先前變更的記錄數量。 這與資料的變動率有關,會造成建立新的資料列版本。 歷程清單長度增加可能會影響資料庫的效能。
MySQL 鎖定逾時 lock_timeouts 計數 此計量表示查詢由於鎖定發生的逾時次數。 一個查詢等候另一個查詢佔用的資料列或資料表鎖定的時間超過 innodb_lock_wait_timeout 設定的時間時,通常會發生這種情況。
MySQL 鎖定鎖死 lock_deadlock 計數 此計量表示所選期間適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體上發生的鎖死數量

伺服器記錄

在適用於 MySQL 的 Azure 資料庫彈性伺服器中,使用者可以設定和下載伺服器記錄,以協助疑難排解工作。 啟用此功能之後,適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體會開始擷取所選記錄類型的事件,並將其寫入檔案。 然後,您可以使用 Azure 入口網站和 Azure CLI 來下載檔案以使用它們。 伺服器記錄功能預設為停用。 有關如何啟用伺服器記錄的資訊,請參閱<如何啟用及下載適用於 MySQL 的 Azure 資料庫彈性伺服器的伺服器記錄

伺服器記錄支援啟用和下載慢速查詢記錄錯誤記錄。 若要執行資料的歷程記錄分析,請在 Azure 入口網站中伺服器的 [診斷設定] 窗格上,新增診斷設定以將記錄傳送至 Log Analytics 工作區、Azure 儲存體或事件中樞。 如需詳細資訊,請參閱設定診斷記錄

伺服器記錄保留

針對適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體啟用記錄功能時,記錄在建立後最多可使用七天。 如果可用記錄的大小總計超過 7 GB,則除非有空間可用,否則會刪除最舊檔案。 伺服器記錄的 7 GB 儲存體限制是免費的,且無法擴充。 記錄會每隔 24 小時或 500 MB 輪替一次 (視何者先到達)。