DB2® Performance Expert 是用于监控、分析和调优 DB2 Universal Database™ (DB2 UDB) 及其应用程序性能的工具。本文的第 1 部分介绍了该工具,并讨论了它的基本功能。 第 2 部分将带您亲历一些实践性的场景,使您可以真正看到它对您有多大的帮助。
您是否需要对那些让您可以控制和调优 DB2 UDB 以及 DB2 应用程序的关键性能因素进行详细分析?或者,您是否曾碰到过与 DB2 服务器相关的问题,但是在当前的快照中却无法检测到问题的起因,而您又希望拥有历史监控数据?
DB2 Performance Expert V2.1就是一种可以辅助您完成上述任务的工具。本文的第 1 部分介绍了 DB2 Performance Expert,并说明了它的一些组件。 第 2 部分将带您亲身体验该产品,演示各种不同的实际应用场景,例如:
- 确定某种索引是否可以提高性能。
- 检查排序性能。
- 检查重组表的必要。
- 确保有足够的 DB2 代理来处理工作负载。
- 解决锁冲突。
- 检查包缓存中经常使用到的 SQL 语句。
- 分析缓冲池。
- 监控系统健康状况。
![]() |
![]() |
DB2 Performance Expert (DB2 PE) 是一种基于工作站的性能分析和调优工具,可以简化 DB2 性能管理。它能使您以实时和历史模式监控应用程序、系统统计信息以及系统参数。此外,DB2 PE 还可以帮助您分析性能瓶颈,并为提供系统和应用程序性能给出调优建议。
有了 Performance Expert,就可以通过一个单用户界面管理各种类型混合的 DB2 系统。它集成了性能监控、报告、缓冲池分析和 Performance Warehouse 功能。它为监控不同操作系统上的多个 DB2 实例提供了一个联合的、一致的系统视图。DB2 Performance Expert 支持运行在 Windows®、AIX®、HP-UX、z/OS®、Linux、 Linux on zSeries® 以及 Sun Solaris Operating Environment 上的 DB2 服务器。
下面是 DB2 Performance Expert 的一些高级功能:
- 监控和分析 DB2 以及 DB2 应用程序的性能,简化性能调优。
- 包括一个用来存储性能数据的性能仓库以及一些分析工具,使您可以:
- 保存 DB2 快照和事件监控数据(用于 SQL、数据库和缓冲池活动),为调查和趋势分析创建报告。
- 通过工作站 GUI 函数配置和调度报告和装载进程。
- 定义和应用分析函数来识别性能瓶颈。
- 提供专家分析、实时的在线监视器,以及用来分析和优化 DB2 应用程序以及 SQL 语句的各种报告。在线监视器包括一个扩展的系统概述,在细节面板中还提供了图形,同时还包含经过改进的导航和过滤。
- 提供异常状况,用以预测即将出现的 DB2 性能问题和可用性问题。
- 使您可以以多种格式生成缓冲池报告,这些格式包括表、饼图和图形。
- 提供了对 DB2 Extended Enterprise Edition (EEE) 或带 Data Partitioning Feature 特性的 DB2 Enterprise Server Edition 的完全支持,支持对大型企业系统的高度完善的性能监控。
- 监控 DB2 Connect 网关,包括与数据库和系统相关的信息。
![]() |
![]() |
System Overview 屏幕如 图 1所示,它根据登录和配置状况提供了对被监控的所有系统的概述。System Overview 屏幕为您提供了一个单一的关键性能计数器的视图,并展示了事件异常(例如死锁),同时提供了向下(drill down)扩展功能。
图 1. System Overview
![System overview](https://i-blog.csdnimg.cn/blog_migrate/0bf145e39b2e8690af50c7487ed27d6b.png)
Online Monitor - Statistics Details
图 2展示了在线监视器 statistics details(统计信息细节)屏幕。该屏幕详细显示了以下各方面的统计信息数据:
- 实例信息
- 数据库(使用情况、缓存、高水位、锁、读、写等)
- 表空间和表
- 缓冲池(读、写、I/O 等等)
- 内存池
- 动态 SQL Statement 缓存细节
图 2. Online Monitor - Statistic Details
![Statistic Details](https://i-blog.csdnimg.cn/blog_migrate/76516a30ac0836581a8cd095625a5d84.png)
在 图 3中,如果从前一个屏幕向下展开,您可以看到可到达的详细级别。在这个实例中,您可以看到我从数据库级向下展开,以显示 SQL 活动。也可以以报告的形式将关于 SQL 语句的信息显示在图中,从而帮助您更快地检索统计信息。
图 3. Online Monitor - Database drill down
![Database drill down](https://i-blog.csdnimg.cn/blog_migrate/f8024546943d26a50b8a88d87536670f.png)
Online Monitor - System Health
我们可以定义关于关键性能计数器的图形化数据视图,来监控它们随时间而产生的变化。在 图 4中,您可以看到各种显示您可能想要监控的细节的图,例如缓冲池利用率、失败的 SQL 语句和排序溢出。同样,这些细节可以帮助您快速洞察系统的性能,并在有问题的时候向您发出警告。
图 4. Online Monitor - System Health Panel
![System Health Panel](https://i-blog.csdnimg.cn/blog_migrate/6398189dd313509c897c4f2838de699d.png)
Online Monitor - Application Details
Application Details 屏幕概述实例中当前处于活动状态的一部分,并显示应用程序概要和细节,其中包括:
- 时间
- 锁
- SQL 活动
- SQL 语句
- 缓存
- 排序
- 内存池
在 图 5中,我们可以看到关于一条特定 SQL 语句的细节。
图 5. Online Monitor - Application Details
![Online Monitor - Application Details](https://i-blog.csdnimg.cn/blog_migrate/932cc342de4a33ff82b41df1abed4219.png)
图 6中显示的 SQL 语句活动报告是基于事件监控数据的。它向您展示了一个应用程序执行的所有 SQL 语句(动态的和静态的),并提供了关于每条语句的细节。
图 6. Online Monitor - SQL Activity Report
![SQL Activity Report](https://i-blog.csdnimg.cn/blog_migrate/37e2bb12e4279a8a0bc5adf9918dbedb.png)
异常处理是对那些会指出反常问题的状况或者值得 DBA 注意的不寻常状况的监控。例如,如果应用程序开始时碰到死锁,那么您可能希望警告 DBA。您可能还想为一个阈值异常定义其他一些状况。您可以为这些异常状况定义警告和通知。
图 7展示了针对死锁的事件异常处理。
图 7. Exception Processing (死锁)
![Exception Processing (deadlocks)](https://i-blog.csdnimg.cn/blog_migrate/20b0935104142bce4ee52d313fc9404f.png)
图 8展示了阈值异常日志,并将其向下展开,以查看 SQL 活动的某一时期的异常细节。
图 8. Exception Processing (阈值异常日志)
![Exception Processing (阈值异常日志)](https://i-blog.csdnimg.cn/blog_migrate/de7b2ab4a8c68317bf0ec1655cd19dd0.png)
Performance Warehouse 为 SQL、缓冲池和数据库活动数据的长期存储。通过生成报告、执行查询或获取经验法则(Rules-of-Thumb),可以对其中的数据进行分析。通过分析和遵从建议,您可以提前改进系统行为。
我们可以对存储在 Performance Warehouse 中的信息运行 25 种预定义查询。 图 9的 Performance Warehouse 屏幕中显示了其中的一些查询。
图 9. Performance Warehouse
![performance warehouse](https://i-blog.csdnimg.cn/blog_migrate/e1aab6cca8b0ebde61cb6ff8912d27c1.png)
图 10 展示了如何检查或执行这些预定义查询。
图 10. Performance Warehouse
![performance warehouse](https://i-blog.csdnimg.cn/blog_migrate/3118eded93831ec7fb30dd49d7afd4f3.png)
在 图 11中可以看到其中一种预定义查询。
图 11. Performance Warehouse - 显示排序溢出的预定义查询 - SQL
![predefined query](https://i-blog.csdnimg.cn/blog_migrate/bb7dbd1dbf9fdae1a1941e7912953a10.png)
图 12展示了运行该查询的结果。
图 12. Performance Warehouse - 显示排序溢出的预定义查询 - Results
![query results](https://i-blog.csdnimg.cn/blog_migrate/a38928af5840daab097dc42bc385e913.png)
Buffer Pool Analyzer 显示特定时期内缓冲池的活动,包括报告和图形视图。 图 13显示了缓冲池分析器的一个屏幕快照。其中的线图使您可以快速地查看缓冲池中被读取的 SQL 查询所占的百分比。
图 13. Buffer Pool Analyzer
![buffer pool analyzer](https://i-blog.csdnimg.cn/blog_migrate/bd1388a2980be72d22032b5300998173.png)
我们可以直接从 DB2 Control Center 启动 DB2 PE 的监控功能。在 图 14中可以看到,在安装了 DB2 PE 之后,通过右击实例名就可以访问 Performance Expert 功能。
图 14. DB2 Control Center Plugin
![Sample display screen](https://i-blog.csdnimg.cn/blog_migrate/ff1bf3b878565f8f63d9b2227621401e.png)
可以通过 SMTP 将一定时期的事件异常发送到一个电子邮件地址。 图 15 展示了如何定义 SMTP 警告。
图 15. DB2 PE eMail Notification
![Sample display screen](https://i-blog.csdnimg.cn/blog_migrate/855e8e9f757e73372f673a28486f8e23.png)
![]() |
![]() |
在第 1 部分,您已经看到了 DB2 Performance Expert 的一些基本功能。请继续阅读 第 2 部分,以获得关于如何使用 DB2 Performance Expert 解决问题的实践性例子。
![]() |
![]() |
特别感谢 IBM 开发实验室的 DB2 性能专家 Ute Baumbach,是他审校了这篇文章。
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
- DB2 Performance Expert Homepage给出了关于 DB2 Performance Expert V2.1 的介绍。
- DB2 UDB Performance Expert for Multiplatforms V1: A Usage Guide (Redbook, June 2003) 为对多平台使用这种新的 DB2 UDB Performance Expert 工具提供了指南。
- DB2 Performance Expert - Documentation。
![]() | ||
| ![]() | Werner Schuetz 是一名 IBM 认证的 IT 专家,同时也是 IBM 认证的高级数据库管理员和 IBM 认证的 DB2 UDB V8 应用程序开发人员。他在德国斯图加特的 IBM Innovation Center 担任 DB2 技术顾问,并在测试 DB2 解决方案、执行性能和调优以及运行竞争性数据库移植方面为独立软件开发商提供支持。 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-534777/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15082138/viewspace-534777/