通過sp_sysmon,我們可以對Adaptive Server系統運行的情況有一個全面的了解,它有利于我們更好地熟悉系統性能,進行系統管理和配置系統資源,達到系統性能調優的目的。
本文將從18個方面講述系統性能的狀況,並在適當時利用環境參數來進行性能調優:
1、內核管理(kernal) 2、應用管理(appmgmt) 3、數據緩存管理(dcache)
4、ESP管理(esp) 5、索引管理(indexmgmt) 6、鎖管理(locks)
7、內存管理(memory) 8、元數據高速緩存管理(mdcache)9、任務管理(taskmgmt)
10、監視器訪問SQL的執行(monaccess) 11、網絡I/O管理(netio)
12、並行查詢管理(parallel)13、過程緩存管理(pcache)14、恢複管理(recovery)
15、事務管理(xactmgmt)16、事務概要(xactsum) 17、磁盤I/O管理(diskio)
18、工作進程管理(wpm)
括號後英文短詞是該模塊參數。
環境:
1、用戶數據庫中有練習所用數據表auths和article
2、數據表各有10萬行數據
3、用戶具有查詢、修改、刪除等基本的數據庫表操作權限
步驟:
執行sp_sysmon 「00:10:00」(server級系統存貯過程,不需要打開某個數據庫),或者執行如下格式的過程,查看具體操作批命令對應系統性能情況:
sp_sysmon begin_sample
SQL語句或者存貯過程
sp_sysmon commit_sample
本實驗采用 sp_sysmon 「hh:mm:ss」,性能模塊名。
結論:
通過此練習,可了解當前系統在各方面的系統運行狀況,性能出現什麽問題和不平衡不協調之處,學會使用相應的參數和措施進行解決和調優,不斷比較對照調整前後的性能狀況,最終改善系統性能。
說明:
1、該命令執行結果集的開頭相同如下,各分塊練習不再一一列示:
=========================================================
Sybase Adaptive Server Enterprise System Performance Report
=========================================================
Server Version: Adaptive Server Enterprise/11.9.2/1031/P/NT (IX86)/OS 3.
Server Name: Server is Unnamed
Run Date: May 28, 2001
Statistics Cleared at: 15:57:27
Statistics Sampled at: 16:07:28
Sample Interval: 00:10:00
2、執行結果集的每列信息提示:
per sec:采樣期間每秒的平均值
per xact: 采樣期間每提交一個事務的平均值
count:采樣期間每秒的總計值
% of total:占總數的百分比,根據不同情況各有不同
3、結果集對應給出性能情況描述、分析以及可調性說明
4、本練習只給出部分模塊的監視結果(可能有刪節),用sp_sysmon 「hh:mm:ss」可查看全部詳細情況。
磁盤I/O管理
命令行:sp_sysmon 「00:10:00」,diskio
結果:
Disk I/O Management(磁盤I/O管理)
-------------------報告server總體磁盤I/O行爲,包括讀、寫和邏輯設備上的semaphore爭奪。
Max Outstanding I/Os per sec per xact count % of total
最大顯示I/O數:server總體開銷的最大I/O數,分別通過server和引擎表示。
------------------------- ------------ ------------ ---------- ----------
Server n/a n/a 10 n/a
Engine 0 n/a n/a 10 n/a
I/Os Delayed by
系統遇到I/O延遲問題,類似于I/O被server或操作系統限制阻塞一樣。多數操作系統都有一個參數限制異步I/O數。可用sp_configure查看參數「allow sql server async i/o」。
Disk I/O Structures n/a n/a 0 n/a
達到磁盤I/O結構極限從而被延遲的I/O數。當server超過了可用磁盤I/O的控制塊數,I/O就會被延遲,因爲server在開始一個I/O請求時需要通過任務來得到一個磁盤I/O控制塊。如果其值非零,通過設置增加參數值「disk i/o structures」(缺省256)來增加磁盤I/O控制塊數,如果操作系統允許盡可能設置大一些,以使用光磁盤I/O結構的機會降到最小。
Server Config Limit n/a n/a 0 n/a
用參數「max async i/os per server」(缺省2147483647)進行調整server一次所用異步磁盤I/O請求數。
Engine Config Limit n/a n/a 0 n/a
引擎配置最大異步磁盤I/O請求數限制,用參數「max async i/os per engine」查看和調整。
Operating System Limit n/a n/a 0 n/a
操作系統的限制數查看操作系統文檔。
Device Activity Detail
----------------------
Device:
master.dat
master per sec per xact count % of total
------------------------- ------- ------------ ---------- ----
Reads
APF 0.0 0.0 0 0.0 %
Non-APF 0.2 0.0 102 78.5 %
Writes 0.0 0.0 28 21.5 %
------------------------- ------------ ------------ ---------- ---------
Total I/Os 0.2 0.0 130 1.5 %
Device Semaphore Granted 0.2 0.0 130 100.0 %
Device Semaphore Waited 0.0 0.0 0 0.0 %