sybase 性能诊断sp_sysmon数据缓存
本篇文章描述了通过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
补充:数据库,SYBASE教程