本篇文章描述了通過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”可看全部詳細情況。
數據cache管理
命令行:sp_sysmon “00:10:00”,dcache
結果:
Data Cache Management(數據cache管理)
---------------------
報告數據cache的自旋鎖爭奪、cache應用、cache擊中錯失、配置緩沖池的翻轉、清洗緩存(包括髒頁)、預取的請求與拒絕、讀髒頁請求等情況。
Cache Statistics Summary (All Caches)
-------------------------------------
per sec per xact count % of total
------------ ------------ ---------- ----------
Cache Search Summary cache的擊中和錯失次數
Total Cache Hits 18.6 1.6 11171 89.9 %
Total Cache Misses 2.1 0.2 1251 10.1 %
------------------------- ------------ ------------ ----------
Total Cache Searches 20.7 1.8 12422
Cache Turnover
Buffers Grabbed 0.2 0.0 102 n/a
緩存掠奪。Count表示cache緩存塊鏈中從LRU末端取走的緩存塊次數。
Buffers Grabbed Dirty 0.0 0.0 0 0.0 %
髒頁掠奪。在從LRU末端取走髒頁時必須等待將髒頁寫回磁盤。如果其值非零,可找出是什麼cache受到影響,這事關cache的擊中性能問題。
Cache Strategy Summary cache策略(對所有的cache)
Cached (LRU) Buffers 19.8 1.7 11880 100.0 %
報告有多少cache中的緩存塊放置到MRU/LRU鏈的頭部。
Discarded (MRU) Buffers 0.0 0.0 0 0.0 %
報告多少緩存塊采用了獲取-丟棄策略,緩存塊用過以後被放到緩存塊鏈的刷洗標記處。
Large I/O Usage
0.0 0.0 0 n/a
大塊I/O請求使用次數,這裡沒有設置大塊I/O,故均為0值,也沒有其授權或拒絕使用情況。
Large I/O Effectiveness
大塊I/O的使用效果,百分比值低表示很少的頁被帶入cache供查詢使用,可進一步查看單個cache的使用情況。
Pages by Lrg I/O Cached 0.0 0.0 0 n/a
通過涉及的頁數衡量性能是否有益。低的百分比值意味著表的存貯結構很碎,或是不恰當的cache配置策略。
Asynchronous Prefetch Activity
0.0 0.0 0 n/a
異步預取情況可結合磁盤I/O管理查看。可看參數“global async prefetch limit”。
Other Asynchronous Prefetch Statistics
APFs Used 0.0 0.0 0 n/a
異步預取合格的頁數。
APF Waits for I/O 0.0 0.0 0 n/a
進程等待異步預取完成的次數。表示查詢需要的頁沒有盡早地完成異步預取,這樣進程處於等待狀態。出現一定的百分比是合理的:查詢的首次異步預取請求通常需要等待;每次的順序掃描移動到新的分配單元時發出預取請求,查詢必須等待第一次的I/O結束;每次非聚簇索引掃描找到合適的行集,也會發出對頁的預取請求,也要等待第一次的頁返回。
APF Discards 0.0 0.0 0 n/a
報告已經被異步預取讀入但在使用之前就被放棄的頁數。如果其值高,建議增加緩沖池的尺寸單位(比如從2K增加4K、8K、16K的緩沖池)以改善性能,或者表示預取進入cache的很多頁並不為查詢所需要。
Dirty Read Behavior
Page Requests 0.0 0.0 0 n/a
隔離級為0的髒讀請求的頁數。
-------------------------------------------------------------------------------
Cache: default data cache 缺省數據cache的情況:
per sec per xact count % of total
------------------------- ------------ ------------ ---------- ----------
Spinlock Contention n/a n/a n/a 0.0 %
自旋鎖只對SMP環境有用。當一個用戶任務對cache的修改完成之前,其它任務將不能訪問該cache而只有等待。雖然自旋鎖駐留時間短,但對於高事務率的多處理器系統的性能依然有不好影響,如果自旋鎖比例超過10%,應考慮建立命名cache或者是增加cache分片。
Utilization n/a n/a n/a 100.0 %
下面是cache檢查的具體情況:
Cache Searches
Cache Hits 18.6 1.6 11171 89.9 %
Found in Wash 1.1 0.1 677 6.1 %
Cache Misses 2.1 0.2 1251 10.1 %
------------------------- ------------ ------------ ----------
Total Cache Searches 20.7 1.8 12422
Pool Turnover
2 Kb Pool
LRU Buffer Grab 0.2 0.0 102 100.0 %
Grabbed Dirty 0.0 0.0 0 0.0 %
------------------------- ------------ ------------ ----------
Total Cache Turnover 0.2 0.0 102
Buffer Wash Behavior
Statistics Not Available - No Buffers Entered Wash Section Yet
Cache Strategy
Cached (LRU) Buffers 19.8 1.7 11880 100.0 %
Discarded (MRU) Buffers 0.0 0.0 0 0.0 %
Large I/O Usage
Total Large I/O Requests 0.0 0.0 0 n/a
Large I/O Detail
No Large Pool(s) In This Cache
Dirty Read Behavior
Page Requests 0.0 0.0 0 n/a