第五十五章 使用 ^mgstat 监控性能 - Seizes、ASeizes 和 NSeizes
Column | Description | Notes |
Glorefs | 全局引用(数据库访问)。指示代表当前工作负载正在发生的工作量;尽管全局引用会消耗 CPU 时间,但由于缓冲池的存在,它们并不总是需要物理读取。 |
|
RemGrefs * | 远程全局引用(数据库访问)。指示代表分布式缓存集群应用程序服务器生成的全局引用数。 |
GRratio | 全局引用与远程全局引用的比率。 | |
PhyRds | 从磁盘物理读取。大量的物理读取可能表明存在性能问题;可以通过增加数据库(全局)缓冲区的数量来提高性能。 |
Rdratio | 逻辑块读取与物理块读取的比率,但如果物理块读取为零,则为零。 | |
Gloupds | 全局更新 (sets or kills ). |
|
RemGupds * | 远程全局更新。 |
Rourefs | 例程引用(包括标签^例程 )。 |
|
RemRrefs * | 远程例程引用。 |
RouLaS | 例程加载和保存(从磁盘获取或保存到磁盘)。大量的例行加载/保存可能表明存在性能问题;可以通过增加例程缓冲区的数量来提高性能。 | |
RemRLaS * | 远程例程加载和保存。 |
RemRLaS * | 远程例程加载和保存。 | |
PhyWrs | 物理写入磁盘。 | |
WDQsz | 写入守护进程队列大小(以块为单位)。 | 不是每秒。 |
WDtmpq | 更新了 IRISTEMP 中的块。 | 不是每秒。 |
WDphase` | 写守护进程的阶段。最常见的阶段是:0 :空闲(WD 未运行)<br/> 5:WD 正在更新 Write Image Journal (WIJ) 文件。<br/>7: WD正在提交 WIJ 和 Journal。<br/> 8`:正在更新数据库。 |
不是每秒。 |
Wijwri | 写入 WIJ 的 256 KB 块数。当 WD 正在向 WIJ 写入数据时,该值为非零。 |
|
RouCMs | 例程缓存未命中数。 | |
Jrnwrts | 写入日志的块数。 | |
GblSz | 获取全球资源的次数 | |
pGblNsz | NSeizes 在全局资源上的百分比 |
pGblAsz | ASeizes 在全局资源上的百分比 |
|
RouSz | 占用例程资源的次数 | |
pRouAsz | ASeizes 在例程资源上的百分比 |
|
ObjSz | 对象资源的占用次数 |
pObjAsz | 对象资源上的 ASeizes 百分比 |
|
ActECP * | 活动 ECP 连接数。 |
不是每秒。 |
Addblk * | 添加到 ECP 客户端缓存的块数。 |
PrgBufL * | 由于全局缓冲区不足(在 ECP 客户端上)而从 ECP 客户端缓存中清除的块数。高数字可能表示 ECP 客户端存在性能问题;可以通过增加 ECP 客户端上的全局缓冲区数量来提高性能。 |
|
PrgSrvR * | ECP 服务器从 ECP 客户端缓存中清除的块数。 |
BytSnt * | 作为 ECP 客户端发送的字节数。 |
|
BytRcd * | 作为 ECP 客户端接收的字节数。 |
|
WDPass | 自启动后的 WD 循环。 |
不是每秒。 |
IJUCnt | WD 正在等待继续此循环的作业数。 |
不是每秒。 |
IJULock | 指示是否设置了 IJULock 标志。如果设置了 IJULock ,则在 WD 完成写入周期时所有更新都将被锁定。 |
不是每秒。 |
PPGrefs | 所有进程私有全局访问的计数。 | |
PPGupds | 所有进程私有全局更新的计数。 |
- 显示 0,除非这是 ECP 配置。
Seizes、ASeizes 和 NSeizes
每当作业需要对给定资源进行独占访问以保证更新发生而不受其他进程干扰时,就会发生占用。如果没有立即满足 Seize
,则推迟更新,直到它被满足为止。
在单 CPU
系统上,该进程会立即休眠(因为在持有资源的进程放弃它之前它不能做任何事情,这在它自己的更新完成之后才会发生)。
在多 CPU
系统上,进程进入保持循环,“希望”它能在合理的时间内获得资源,从而避免休眠的开销。如果进程在保持循环期间获得对资源的访问权限,则循环立即退出并且进程继续更新;完成更新后,该进程会为可能正在等待它的其他进程放弃资源;这是一个Aseize
。如果,在hold
循环结束时,该资源仍被另一个进程持有,则该进程继续休眠,等待资源释放时被唤醒;这是一个 Nseize
。
Nseizes
是在单 CPU
系统上运行多个进程的自然结果; Aseizes
是在多 CPU
系统上运行多个进程的自然结果。不同之处在于,Nseize
会产生系统或特权 CPU
时间,因为操作系统必须更改正在运行的进程的上下文,而 Aseize 会在 CPU
上产生用户时间,因为它会继续运行直到获得和释放资源,或者直到它放弃并冬眠。通常,在多 CPU
系统上,操作系统执行上下文切换比循环几次以避免此操作的成本更高,因为在多 CPU
系统上存在与上下文切换相关的 CPU
开销和内存延迟。