本篇文章描述了通过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 %
-----------------------------------------------------------------------------