在此屏幕上,db2top提供了每个缓冲池的信息。用户可以看到的一些缓冲池的基本信息,如读,写,和大小,还可以看到其他信息,如缓冲池命中率%和异步读取%率。
Lock (U)
Figure 8. Lock screen
一个锁定的问题是应用程序诊断中最常见的问题之一。通过db2top,用户可以很容易地列出了应用程序持有的锁。
使用db2top也更容易分析锁等待的问题。下面图9,10和11显示其中一个db2bp应用程序正在等待另一db2bp会话。
Figure 9. Lock waiting -- Application status
在图9中,两代理(代理24和代理9)处于第一列:Agent Id(state)。你可以看到,在第三列(应用状态)其中一个代理(代理24)被卡在锁等待状态。 Figure 10. Lock waiting -- Lock status
如果用户希望看到更多信息,请按键盘上的左箭头,如图10。
Figure 11. Lock waiting -- Table name
在这个特殊的例子中,如图11看到的那样,代理24试图去请求表TAOEWANG.T1上的S锁,但是它被拥有T1表IX锁的代理9锁定。
db2to在此屏幕提供了另一个非常有用的功能:锁链分析。并不总是容易弄清楚锁等待的关系,如果有多个应用程序涉及。db2top实用程序提供了一个有用的特性来动态绘制锁链,使其更容易为用户了解应用程序之间的锁定关系。 通过输入大写L,显示锁链。就像图12显示的这样: Figure 12. Lock waiting -- Lock chain
Table (T)
Figure 13. Table screen
表屏幕显示数据库中的表的信息。一段时间中没有访问的表显示为白色。正在存取(活跃)表显示绿色。
有关于表本身的信息。列中的数据页(Data pages)和索引页(Index pages)代表多少页在表中。表类型和表大小也是表的很重要的属性。
另一个重要的列是行溢出/秒(Rows Overflows/s),这表明每秒行溢出的数量。溢出的行表明发生数据碎片。如果这个数字很高,用户应该使用REORG实用程序,清理这种碎片重组表提高表的性能。
Bottlenecks (B)
Figure 14. Bottlenecks
瓶颈分析对于一个DBA来说是不能忽视。他们想知道哪个代理(应用)严重地限制了整个系统的性能。
标题“瓶颈”右下角的方框是关于各种数据库操作的时序分析:
The elapsed time used to calculate the percentage of each operation = (wait_lock_time + sort_time + bp_read_time + bp_write_time + async_read_time + async_write_time + prefetch_waite_time + direct_read_time + direct_write_time).
以下为每个操作所估计的百分比:
? wait lock ms: (wait lock time)/(elapsed time) = 80% ? sort ms : (sort time)/(elapsed time) = 0
? bp r/w ms: (buffer pool read and write time)/(elapsed time) = 10% ? async r/w ms: (async read and write)/(elapsed time) = 6% ? pref wait ms: (prefetch_waite_time)/(elapsed time) = 2% ? dir r/w ms: (direct read and write time)/(elapsed time) = 2%
这个屏幕的主要显示部分为对于每一种系统资源哪个agent(应用)占用最大 屏幕上显示的服务器资源显示db2top所监控的服务器资源: ? Cpu: Which agent consumes the most CPU time.
? SessionCpu: Which application session consumes the most CPU time. ? IO r/w: Which agent consumes the most I/O read and write. ? Memory: Which agent consumes the most memory. ? Lock: Which agent is holding the most locks.
? Sorts: Which agent has executed the biggest number of sorting. ? Sort Times: Which agent consumes the longest sorting time.
? ? ? ? ? ? ?
Log Used: Which agent consumes the most log space in the most recent unit of work.
Overflows: Which agent has the most number of sort overflows.
RowsRead: Which agent has read the most number of rows of records.
RowsWritten: Which agent has written the most number of rows of records. TQ r/w: Which agent has sent and received most number of rows on table queues.
MaxQueryCost: Which agent has the max SQL execution time estimated by the compiler.
XDAPages: Which agent has the most number of pages for XDA data (available in V9.1GA and after releases).
例如:图14示出了代理683表明db2bp(DB2 back end process)是很明显的瓶颈。