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