DB2 PE的主要目标是简化对DB2子系统性能的管理。 DB2 PE提供了监控应用,系统统计数据,系统参数的能力。同时,还能用来分析性能瓶颈并提供调整建议。除了DB2 PM和BPA的功能外,DB2 PE还提供了专家分析的功能。
DB2 PE for z/OS 有两种界面可供使用:
(1) 基于工作站的界面,java写的。
(2) 传统的基于主机的界面,使用ISPF.
DB2 PE的reporting部件是基于DB2 trace data,监控部件是基于snapshot信息。snapshot信息不能提供一个thread的完整信息,它只提供某一时间点发生的事件。
使用reporting部件,你可以对系统或应用进行详细的分析,可以获得关于一个SQL语句的执行,一个应用,整个DB2子系统的信息。
你可以用DB2 PE来:
一个集中的控制点来管理和监控所以的DB2 instances和DB2子系统
对多个DB2进行实时监控
显示DB2子系统统计数据和DB2参数(DSNZPARM)
提供应用及thread的详细信息,包括锁冲突等瓶颈信息
报告是否超出exception threshold或event thresholds
查看DB2当前活动和历史数据
提供重要性能信息的图形报告(System Health)
收集trace data并处理以生成batch reports
获得多种DB2 PM batch reports
解释(explain)一个SQL语句的访问路径(aclearcase/" target="_blank" >ccess path)以便于优化
监控DB2 Connect和DB2 thread与远端应用的连接,所用资源与时间
控制例外(exception)处理
分析,模拟,报告buffer pool的使用情况
保存及管理性能数据
获得expert analysis报告和优化建议。
登陆(logon)到多个系统
PE Server是Online Monitor的核心,它从DB2系统中收集性能数据,并提供用户界面以服务。
对于某个应用来说,DB2 PE report可以给出如下信息:
Elapsed time
Time spent in DB2
Suspension time
Read and write activity involved
Locks obtained
SQL statements executed
Buffer pool activity
这些报告来源于DB2 event traces,DB2 event traces存于SMF, GTF, 或顺序数据集。
一些其他产品可以和DB2 PE之间相互调用, 例如:
DB2 PE 调用 Visual Explain
Control Center/390 调用 DB2 PE
PM/390(Java GUI of RMF III)调用workstation online monitor
DB2 Administration tool 调用 DB2 PE ISPF
Tivili and NetView 通过 exception user exit 接收exception alerts
DB2 PE Buffer Pool Analysis(BPA)
Buffer pools可以被认为是关系型数据库最重要的部分之一,DB2 PE Buffer Pool分析部件可以帮助你管理和监控DB2 Buffer pools.
BPA使用DB2 IFI (instrumentation facility)来收集数据,而且它还有自己的数据收集设施。
BPA提供了:
相关event activity的详细报告
详细的统计分析
对象(object)存放的专家分析
强大的模拟功能
ISPF和工作站的用户界面
Highlight报告
GBP和CF structure的使用情况
DB2 PE的安装(略)
Snapshot监控
Class 1 timer:第一个SQL开始到thread结束,包含DB2外的时间。
Class 2 timer:每一个SQL开始到此SQL结束,DB2内的处理时间。
Class 3 timer:SQL中的wait time,它是Class 2 time的一部分。
performance tuning的目标之一就是尽可能减少Class 3 time。
有时进行相对的比较更有意义,如Class 2 CPU time占Class 2 elapsed time的百分比,比只看Class 2 elapsed time更重要。
如何来分析DB2性能问题?首先要回答:"class 3 wait time 是多少?"。
比较 class 3 wait time/class 2 elapsed time, 如果大于20%, 则需要分析class 3 wait time 的分布。
class 7 和 class 8 对应于class 2 和 class 3,但他们是基于package level。
比较class 2 CPU time和class 2 elapsed time,如果小于50%,说明workload在等CPU,可能需要考虑WLM priority问题。如果CPU百分比非常高,则可能有SQL性能问题,检查access path。有时,并行机制的使用也可导致CPU百分比很高。
为了确定性能问题,有时要判断问题是在DB2内还是DB2外,比较class 2 elapsed time和 class 1 time。
注意:高的class 1 time有时并不能说明应用有性能问题,例如,CICS thread reuse,DDF应用等,都会有高的class 1 time。如果class 2 CPU time高,则可能要集中注意力于SQL tuning。
通过分析DB2 accounting long report和RMF workload activity report,可以帮助定位问题的范围。
应该定期地分析accounting report和workload activity report,观察变化。
如何使用ISPF界面: 为了监控系统,DB2 PE host server必须启动。
关于如何使用ISPF界面的详细情况,参见《DB2 Performance Expert for z/OS: Monitoring Performance from ISPF, SC18-7975》和《DB2 for z/OS and OS/390 Tools for Performance Management》SG24-6508.