4. sp_iqsysmon
在这篇文章中将向大家介绍另一个监控运行时统计信息的工具sp_iqsysmon,并介绍它与IQ UTILITIES工具的区别、使用示例已经一些重要统计信息指标的含义。
(1) 说明
sp_iqsysmon是IQ 12.7及以上版本才提供的一个系统存储过程,它类似于Sybase ASE的sp_sysmon。它可以将监控结果以结果集的方式返回到客户端或写入文件中,比IQ utilities 命令具有更灵活的使用方式。sp_iqsysmon支持“批”和“文件”两种模式。有关sp_iqsysmon的详细信息参见“IQ参考手册”。
sp_iqsysmon按节(sections)输出信息,你可以指定输出“一节”或“多节”信息。一般来说,一个section描述了IQ Server的一个组件的统计信息,例如:Buffer manager、Thread management。
有一些sections是cache(Main/Temp)相关的,缺省 main 和 Temp的信息都被显示。通过指定‘m’ 或‘t’前缀以限制某一个cache的信息输出(m表示输出main cache的信息,t表示输出temp cache的信息) 例如:
sp_iqsysmon 'start_monitor','mbufman tbufpool
sp_iqsysmon有如下sections:
Component Name
Buffer Manager (m/t)bufman
Buffer Pool (m/t)bufpool
Prefetch management (m/t)prefetch
Free list management (m/t)freelist
Buffer allocation (m/t)bufalloc
Memory Management memory
Thread management threads
CPU utilization cpu
Transaction management txn
Server context statistics server
Catalog statistics catalog
(2) 使用示例
sp_iqsysmon ’00:05:00’
sp_iqsysmon '00:00:30','mbufman tbufman‘
select Stat as StatName,f1 as StatValue from sp_iqsysmon('00:00:10','mbufman mbufpool ') where Stat in ('Finds','Hit%','Reads','Writes','GrabbedDirty','BusyWaits','Pinned','Dirty','InUse')
说明:上面sp_iqsysmon传递的第1个参数是采样周期,格式为:'hh:mm:ss',即小时、分、秒
IQ中的系统存储过程都可以采用"存储过程名()"的形式,把其当做一个表来使用。
(3) 重要统计信息项说明
A. Buffer Manager(bufman/mbufman/tbufman)节
该节报告IQ Buffer Manager组件的统计信息。用于问题分析的一些重要信息如下:
a. Physical IO volume
Reads/Writes: 物理“读/写”操作的次数
PReadBlks/PWriteBlks:物理读/写的块数
PReadKB/PWriteKB:物理读/写以KB为单位的量
b. Cache操作相关信息
Finds:buffer cache被请求的次数. 如果Finds的值突然降到并保持为0,那么Server很可能发生内部“死锁”.
Hits: buffer cache命中的次数.
Hit%: buffer cache命中率, 是指无须发生物理I/O请求,buffer cache就可以满足请求的百分比.
Creates/Destroys:buffers “创建” / “销毁”操作被调用的次数
Dirties:buffer被修改的次数
GrabbedDirty: 某一操作为获取buffers,必须停止以等待这些脏buffers中的数据写到磁盘上的次数.
B. Buffer Pool(bufpool/mbufpool/tbufpool)节
报告IQ Buffer Pool组件的统计信息。用于问题分析的一些重要信息:
a. Cache中buffers的移动情况
MovedToMRU:在使用之后被放回MRU端的buffers数量
MovedToWash:在使用之后被直接放到wash区的buffers数量
RemovedFromLRU:被从MRU-LRU链表中删除的buffers数量
RemovedFromwash:被从wash区删除的buffers数量
b. Cache尺寸和buffers使用情况
Pages:cache中的buffer/page的数量
InUse: cache中被使用的buffer的数量
Dirty: cache中buffer被修改的次数
Pinned:cache中被使用并且被锁住的buffers的数量
c. Cache刷新和wash区情况
Flushes:flush操作被调用的次数
FlushedBufferCount:被刷新到磁盘的buffers的数量
Washed:通过wash marker的buffers的数量
TimesSweepersWoken:没有工作可做的sweeper线程被唤醒的次数
WashTeamSize: # of threads in the sweeper team
WashMaxSize:wash区中buffers的数量
washNBuffers:通过wash marker的“干净”buffers的数量
washNDirtyBuffers:通过wash marker的“脏”buffers的数量
washSignalThreshold:在sweeper线程被唤醒之前能够通过wash marker的“脏”buffers的数量
washNActiveSweepers:实际正在工作中的sweeper线程数
washIntensity:内部使用的标记
C. Thread Management(threads)节
Thread Management组件的统计信息,用于问题分析的一些重要信息:
ThrNumOfCpus:CPU数量
ThreadLimit:IQ能够使用的最大线程数
ThrNumThreads:# of threads actually useable
ThrReserved:保留的线程数
ThrNumFree:当前可以用来被分配的线程数
NumThrUsed:当前正在使用的线程数
UsedPerActiveCmd:# of threads per command
阅读(4447) | 评论(1) | 转发(1) |