阿里雲RDS(SQL SERVER使用者控制檯監控資訊詳解)
一. 工具
Microsoft SQL Server 2008R2 提供了一些工具來監控資料庫。方法之一是動態管理檢視。動態管理檢視 (DMV)返回的伺服器狀態資訊可用於監控伺服器例項的執行狀況、診斷問題和優化效能。
常規伺服器動態管理物件包括:
dm_db_*:資料庫和資料庫物件
dm_exec_*:執行使用者程式碼和關聯的連線
dm_os_*:記憶體、鎖定和時間安排
dm_tran_*:事務和隔離
dm_io_*:網路和磁碟的輸入/輸出
二. Metrics
使用者控制檯所看到的metrics
磁碟空間
命令: 總空間 = 資料空間 + 日誌空間 + 其它檔案空間(temp)
解釋: 頁面顯示了磁碟空間的使用量單位是GB
IOPS
命令: iopsflt.exe(自主開發)
解釋: IOPS (Input/Output Operations Per Second),即每秒進行讀寫(I/O)操作的次數
CPU使用率
命令:利用程式pid獲得此程式的cpu使用率,再用獲得的cpu使用率比上使用者申請的得到一個百分比
解釋: IOPS (Input/Output Operations Per Second),即每秒進行讀寫(I/O)操作的次數
連線數
命令
select count(*) from sys.dm_exec_sessions
where is_user_process=1
and login_name not in ('***')
and login_name not like '***'
and status not in ( 'Preconnect','Dormant')
解釋
sys.dm_exec_sessions 是伺服器範圍的檢視,顯示了有關所有活動使用者連線和內部任務的資訊。
login_name 當前執行的會話所使用的 SQL Server 登入名。
is_user_process 用於判斷是否是系統連線。
status 會話的狀態。 可能的值:
Running - 當前正在執行一個或多個請求
Sleeping - 當前沒有執行任何請求
Dormant – 會話因連線池而被重置,並且現在處於登入前狀態。
Preconnect - 會話在資源調控器分類器中。
分類資源調控器支援對傳入會話的分類。分類基於函式中包含的一組使用者編寫的條件。
函式邏輯的結果使資源調控器可以將會話歸入現有工作負荷組類。
會話傳入連結——分類(分類器函式)——路由到工作負荷組——工作負荷組使用相關聯的資源池——資源池提供同時限制應用程式資源
網路流量
命令
SELECT round(SUM(net_packet_size * 1.0 * num_reads / 1024), 0) AS read_kb, round(SUM(net_packet_size * 1.0 * num_writes / 1024), 0) AS write_kb
FROM sys.dm_exec_connections
WHERE session_id IN (
SELECT session_id
FROM sys.dm_exec_sessions
WHERE is_user_process = 1
)
理解
dm_exec_connections 返回與 SQL Server 例項建立的連線有關的資訊以及每個連線的詳細資訊。
net_packet_size 用於資訊和資料的網路包的大小。可為 Null 值。
num_reads 此連線中已發生的讀包次數。可為 Null 值。
num_writes 此連線中已發生的寫資料包次數。可為 Null 值。
session_id 標識與此連線關聯的會話。可為 Null 值。
is_user_process 用於判斷是否是系統連線。
TPS
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name LIKE ‘MSSQL$MS3001:database%%’
AND instance_name = ‘_Total’
AND counter_name LIKE ‘Transactions/sec%%’
理解
Database 物件提供了計數器,來監視大容量複製操作、備份和還原吞吐量以及事務日誌活動。
_Total 有的計數器的instance_name中有值為_Total的例項,它是對該計數器所有例項的聚合值(SUM)。
Transactions/sec 每秒為資料庫啟動的事務數
QPS
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:SQL Statistics’
AND counter_name = ‘Batch Requests/sec’
理解
SQL Statistics 物件提供計數器來監視編譯和傳送到 SQL Server例項的請求型別。通過監視查詢編譯和重新編譯的次數以及 SQL Server 例項收到的批數,可瞭解 SQL Server 處理使用者查詢的速度,以及查詢 優化器處理查詢的效率。
Batch Requests/sec 每秒收到的 Transact-SQL 命令批數。
快取命中率
命令
SELECT a.cntr_value * 1.0 / b.cntr_value * 100.0 AS BufferCacheHitRatio
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value, OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Buffer cache hit ratio base'
AND OBJECT_NAME = 'MSSQL$MS3001:Buffer Manager'
) b ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = 'Buffer cache hit ratio'
AND a.OBJECT_NAME = 'MSSQL$MS3001:Buffer Manager'
理解
sys.dm_os_performance_counters 為伺服器維護的每個效能計數器返回一行。
counter_name 計數器的名稱
OBJECT_NAME 計數器的所屬類別
Buffer Manager 物件提供了計數器,用於監視 SQL Server 如何使用:記憶體儲存資料頁、內部資料結構和過程快取; 計數器監視 SQL Server 讀取和寫入資料庫頁時的物理 I/O。
Buffer Manager中的Buffer cache hit ratio base和Buffer cache hit ratio
Buffer cache hit ratio 官方解釋在緩衝區快取記憶體中找到而不需要從磁碟中讀取的頁的百分比。
平均每秒全表掃描數
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:Access Methods'
AND counter_name = 'Full Scans/sec'
理解
Access Methods 物件提供用於監視如何訪問資料庫中的邏輯資料的計數器。
Full Scans/sec 每秒不受限制的完全掃描數。這些掃描可以是基表掃描,也可以是全文索引掃描。
每秒SQL編譯
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:SQL Statistics'
AND counter_name = 'SQL Compilations/sec'
理解
每秒的 SQL 編譯數。 表示編譯程式碼路徑被進入的次數。 包括 SQL Server 中語句級重新編譯導致的編譯。 當 SQL Server 使用者活動穩定後,該值將達到穩定狀態。
每秒檢查點寫入Page數
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:Buffer Manager'
AND counter_name = 'Checkpoint pages/sec'
理解
由要求重新整理所有髒頁的檢查點或其他操作每秒重新整理到磁碟的頁數。
每秒登陸次數
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:General Statistics'
AND counter_name = 'Logins/sec'
理解
General Statistics 物件提供計數器,用於監視伺服器範圍內的常規活動
Logins/sec 每秒啟動的登入數。 這不包括已入池連線。
每秒鎖超時
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:Locks'
AND counter_name = 'Lock Timeouts/sec'
AND instance_name = '_Total'
理解
Locks 物件提供了有關各種資源型別的 SQL Server 鎖的資訊
Lock Timeouts/sec 每秒超時的鎖請求數,包括對 NOWAIT 鎖的請求。
每秒死鎖
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:Locks'
AND counter_name = 'Number of Deadlocks/sec'
AND instance_name = '_Total'
理解
Number of Deadlocks/sec 每秒導致死鎖的鎖請求數。
每秒鎖等待
命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = 'MSSQL$MS3001:Locks'
AND counter_name = 'Lock Waits/sec'
AND instance_name = '_Total'
解釋
Lock Waits/sec 每秒要求呼叫者等待的鎖請求數。
相關文章
- 阿里雲國際版控制檯使用海外雲伺服器教程詳解阿里伺服器
- 【故障公告】阿里雲 RDS SQL Server 資料庫例項 CPU 100% 引發全站故障阿里SQLServer資料庫
- 阿里雲容器Kubernetes監控(一)-資源監控阿里
- 如何使用阿里雲管理控制檯阿里
- 如何使用表格儲存控制檯進行資料監控
- 乾貨 | 京東雲資料庫RDS SQL Server高可用概述資料庫SQLServer
- 阿里雲控制檯天天提示有攻擊阿里
- 監控 SQL Server 的執行狀況SQLServer
- Python呼叫阿里雲資料庫監控資料Python阿里資料庫
- 阿里雲RDS SQL自動化遷移上雲的一種方案阿里SQL
- 解決maven專案控制檯資訊亂碼Maven
- 為資料集而生的 SQL 控制檯SQL
- 前沿分享|阿里雲資料庫高階技術專家 宋利兵:阿里雲企業級自治資料庫RDS詳解阿里資料庫
- 使用zabbix監控sql server的釋出訂閱SQLServer
- Zabbix監控阿里雲SLB操作指引阿里
- SQL Server:觸發器詳解SQLServer觸發器
- 控制檯實時檢視 sqlSQL
- kubenetes metrics-server監控資源Server
- PG 資料庫 從阿里雲pg rds 同步資料。資料庫阿里
- 阿里雲RDS PG最佳實踐阿里
- 阿里雲RDS 管理介面的bug阿里
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- 資料庫監視器(SQL Server Profilter)資料庫SQLServerFilter
- 阿里雲ons佇列監控api深度使用阿里佇列API
- SQL Server 更新統計資訊SQLServer
- linux下使用tomcat檢視控制檯資訊LinuxTomcat
- PHPMyAdmin 設定阿里雲rds訪問PHP阿里
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 【SQL】Oracle資料庫SQL監控報告示例SQLOracle資料庫
- SQL Server2012 安裝方法詳解SQLServer
- 如何使用 taosKeeper 做好監控工作,時序資料庫 TDengine 3.0 監控工具詳解資料庫
- zabbix監控windows DHCP serverWindowsServer
- 雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL ServerSQLServer
- 獨家揭祕:SQL Server AlwaysOn在阿里雲的突破SQLServer阿里
- Python自定義阿里雲RDS備份策略Python阿里
- 記阿里雲 RDS MySQL 的一個大坑阿里MySql
- Grafana監控騰訊物理資源資訊Grafana
- 阿里雲 RDS MongoDB4.0新建庫,表,使用者和密碼步驟阿里MongoDB密碼