能诊断sp_sysmon物理IO
2024-07-21 02:11:14
供稿:网友
本篇文章描述了通过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 %
-----------------------------------------------------------------------------