developerWorks 中国网站编辑团队, 编辑, IBM
2008 年 7 月 15 日 在本次实验中,将使用 “配置顾问程序” 和 “设计顾问程序” 配置数据库的 DBM 和 DB CFG 参数和工作负载的查询性能。这个顾问会根据数据库管理专家的经验提出建议并提供相应的技术资料。
前提条件
Configuration Advisor(配置顾问程序)
目标
 | |
IBM 为社区提供了 DB2 免费版本 DB2 Express-C,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。
|
|
在本次实验中,将使用 “配置顾问程序” 配置 EXPRESS 数据库的 DBM 和 DB CFG 参数。这个顾问会根据数据库管理专家的经验提出建议。
步骤
1.启动 “配置顾问程序”。展开“控制中心”对象树显示“所有数据库”。右键单击 EXPRESS 数据库并选择 “配置顾问程序” 菜单项。
2.顾问的“简介”页面主要提供一些信息性消息。单击“下一步”按钮进入顾问的下一页。
图 1. 简介选项
3.在“服务器”页面上,必须指定目标数据库可以使用的资源的百分比。顾问会把内存消耗控制在这个限制以内。在决定这个百分比时,必须考虑许多因素,比如操作系统的内存需求、同一台机器上运行的其他应用程序、其他数据库和开发工具。因为您正在使用一个开发环境,所以应该使用比较低的值,比如 15%。在生产环境中,这个值可能会高得多(例如,对于专用的数据库服务器,可能达到 80%)。必须注意不要过分调整数据库,这会导致系统使用的内存超过可用的物理内存。如果发生这种情况,系统性能会快速下降。单击“下一步”按钮进入顾问的下一页。
图 2. 服务器选项
4.顾问的“工作负载”页面询问连接这个数据库的应用程序可能产生的 SQL 工作负载类型。如果工作负载主要由 INSERT/UPDATE/DELETE 语句组成,那么工作负载就是基于事务的。如果工作负载主要由 SELECT 语句组成,那么工作负载就是基于报告的。请记住,这里考虑的是提交的语句的频率,而不是不同语句的总数。在我们的示例中,工作负载主要是基于事务的,所以选择这个选项。单击“下一步”按钮进入顾问的下一页。
图 3. 工作负载选项
5.“事务”页面询问应用程序执行的事务的一般性质。事务是一组相关的 SQL 语句,它们必须作为一个整体成功执行,然后修改才能持久化。对于 EXPRESS 数据库,事务属于短事务(每个事务少于 10 个 SQL 操作)。对于每分钟的事务数,估计值是 15 个。单击“下一步”按钮进入顾问的下一页。
图 4. 事务选项
6.“优先级”页面要求您选择在“更快的事务处理”和“更快的恢复”之中哪一个对于您更重要。性能调优是一种平衡的艺术。必须牺牲一些方面来保障其他方面。在目前的情况下,因为事务速率不会非常高,而且需要快速恢复来避免较长的延迟,所以给运行时性能和恢复分配同样的重要性。单击“下一步”按钮进入顾问的下一页。
图 5. 优先级选项
7.“填充”页面询问数据库是否已经包含真正的生产数据,或包含可以代表生产环境的数据。如果数据库已经填充了数据,顾问就可以进一步优化资源分配。因为已经装载了数据,所以应该选择 Yes 选项。随着时间的推移,数据库会逐渐增长,您可以定期运行顾问来调整配置。单击“下一步”按钮进入顾问的下一页。
图 6. 填充选项
8.“连接”页面询问您预期的并发数据库连接数量。这会影响系统中可用资源的分配。这是一个因特网应用程序,在高峰时段,大约会有 100 个连接(但是只有其中一部分连接涉及事务)。单击“下一步”按钮进入顾问的下一页。
图 7. 连接选项
9.“隔离”页面配置与管理锁相关的参数(这个实验教程还没有讨论锁)。目前,选择 “游标稳定性”作为应用程序需要的隔离级别。这是默认的隔离级别,而且常常是合适的。单击“下一步”按钮进入顾问的下一页。
图 8. 隔离选项
10.顾问的“调度”页面询问是立即实现建议,还是在以后实现。一些参数更改要求重新启动实例(所有用户必须断开连接),所以安排在以后实现更改可能更方便。对于我们的情况,因为没有连接用户,所以选择“立即运行而不保存任何历史纪录”选项。这个选项会立即应用更改。单击“下一步”按钮进入顾问的下一页。
图 9. 调度选项
11.“总结”页面显示一组可以提升性能的建议的参数更改。快速查看一下建议,并单击 “完成”按钮应用更改。重新启动实例,使所有参数更改生效。
图 10. 总结选项
Design Advisor(配置顾问程序)
目标
为了提高 SAMPLE 数据库处理的特定工作负载的查询性能,我们将使用 “配置顾问程序” 获得关于索引的建议,然后可以使用这些索引改进性能。
步骤
1.启动 “配置顾问程序”。展开“控制中心”对象树显示 All Databases。右击 SAMPLE 数据库并选择 “配置顾问程序” 菜单项。
2.“配置顾问程序” 的“简介”页面解释这个顾问的功能。单击“下一步”按钮进入顾问的下一页。
图 11. 简介选项
3.在顾问的“功能部件”页面上,选择“索引”复选框。在本次实验中,不考虑 MQT 和 MDC。以后您可以试试这些高级数据库对象。单击“下一步”按钮进入顾问的下一页。
图 12. 功能部件选项
4.在顾问的 “工作负载”页面上,必须提供应用程序处理的工作负载。在这个示例中,只使用一个简单的工作负载,其中只包含一个查询。在您自己的环境中,必须提供工作负载中包含的所有查询。在 “工作负载名” 框中输入 bigQuery。选择您当前的模式作为默认模式。单击“添加” 按钮启动“添加 SQL 语句” 对话框。在“添加 SQL 语句”对话框中,在 SQL
语句框中输入以下查询:
SELECT * FROM employee, department, project
WHERE employee.workdept = department.deptno
AND department.deptno LIKE ‘E%’
AND project.deptno = department.deptno
ORDER BY employee.lastname ASC,
employee.firstnme ASC
|
将 <schema> 替换为您当前登录所用的用户 ID。在“名称”框中,输入 bq1。在 “频率” 框中,输入 1。
图 13. 工作负载选项
单击“确定”按钮关闭 “添加 SQL 语句” 对话框。要确保工作负载只包含以上查询。“配置顾问程序” 还可能包含以前提交的缓存的 SQL 语句。单击“下一步”按钮进入顾问的下一页。
5.如果希望在 “配置顾问程序” 提出建议之前更新某个表的统计数据,那么从列表中选择这个表并单击 > 按钮把它移动到“所选”表列表中。目前,选择为 employee、department 和 project 表更新统计数据。如果其中的任何表没有出现在列表中,就继续前进,不必添加它们。单击“下一步”按钮进入顾问的下一页。
图 14. 统计信息选项
6.顾问的 “选项” 页面提供了几个用来调整建议的额外选项。这个页面上的所有设置都是可选的。其中比较有趣的选项是限制建议使用的磁盘空间量。如果配置这个设置,顾问会在考虑您指定的空间限制的情况下,选出产生最大性能改进的对象集。目前,使用默认设置。单击“下一步”按钮进入顾问的下一页。
图 15. 选项信息
7.在顾问的 “计算”页面上,可以选择是立即执行计算,还是在以后数据库不太忙时执行。为了搜索适当的建议,“配置顾问程序” 会使用大量系统资源;但是,因为这个示例中的工作负载非常简单,数据库也很小,所以应该影响不大。选择立即运行 “配置顾问程序”。单击“下一步”按钮进入顾问的下一页。
图 16. 计算选项
8.顾问的 “建议” 页面显示通过创建建议的对象,会产生的总体性能改进。通过对比在有和没有建议的新对象的两种情况下,运行工作负载中的所有 SQL 所需的资源来计算出性能改进。如果单击 Show Workload Detail 按钮,就会出现一个对话框,其中显示通过使用建议的对象,给工作负载中每个语句的处理速度带来的改进。可以选择接受或拒绝各个对象建议。在这个示例中,接受所有建议。在您自己的环境中,应该详细检查建议,然后再接受它们。单击“下一步”按钮进入顾问的下一页。
图 17. 建议选项
9.顾问的 “未使用对象” 页面总结了在处理指定工作负载中的查询时,DB2 没有访问的现有数据库对象。这个页面指出了可能不需要的对象,您可以考虑删除这些对象以节省空间。注意,这些对象出现在这个列表中并不意味着 “配置顾问程序” 建议删除它们。它们可能是别人创建的,而您指定的工作负载不需要它们。删除任何对象时都要小心。目前,不删除任何现有的对象。单击“下一步”按钮进入顾问的下一页。
图 18. 未使用对象选项
10.顾问的 “调度” 页面让您选择是立即实现 “配置顾问程序” 的建议,还是安排在以后实现。选择“立即运行而不保存任何历史纪录” 选项。还可以单击 “生成” 按钮生成建议报告。可以把这个报告分发给组织中的相关人员,在他们批准建议之后,再实现建议。单击“下一步”按钮进入顾问的下一页。
图 19. 调度选项
11.“总结”页面总结前面选择的操作。单击“完成”按钮在数据库上应用建议。
图 20. 总结选项
更多 DB2 信息
目标
到目前为止,您一直通过 DB2 Information Center 寻找关于 DB2 数据类型的信息。在其他一些地方也提供了出色的 DB2 信息。在本次实验中,将访问其他一些 DB2 信息源。为了展示各个信息源,我们将尝试寻找关于 DB2 并发性的信息。
步骤
1.打开一个 web 浏览器并访问 DB2 developerWorks 网站(http://www.ibm.com/developerworks/cn/db2/)。这个网站包含许多 DB2 资源的链接,包括支持、移植/迁移、培训和新闻。这个站点上还有关于各个 DB2 主题的文章。我们来搜索一下关于并发性问题的文章。
图 21. IBM developerWorks 网站 IM 专区
2.在屏幕中部的搜索框中输入 DB2 pureXML,则搜索范围限制在 developerWorks 站点的 Information Management 专区部分,而不是搜索整个 developerWorks 站点。单击 “搜索”按钮开始搜索。
图 21. 搜索 IM 专区相关内容
3.结果屏幕包含涉及并发性问题的文章的链接。但是,有时候需要针对性更强的结果。并发性是一个宽泛的词汇,涉及许多东西。我们来试试针对性更强的搜索。在搜索框中,搜索 DB2 locking 并查看结果。与锁相关的文章现在会出现在列表顶部。
4.developerWorks 网站还包含论坛,可以在论坛上提出问题,向 DB2 社区求助。论坛的网址是http://www.ibm.com/developerworks/forums/db2_forums.jsp。选择 DB2 Express 的论坛并阅读一些贴子。这个论坛是 ibm.software.db2..db2express 新闻组的镜像站点。可以使用 developerWorks web 界面访问这个论坛(必须先在 developerWorks 网站上注册),也可以通过新闻组阅读器(比如 Outlook Express、Eudora 等等)访问这个新闻组。
5.另一个出色的信息源是 IBM Redbook。这些 Redbook 是由专家编写的,常常包含许多示例、建议和最佳实践信息。打开一个 web 浏览器并访问 IBM Redbooks 网站(http://www.redbooks.ibm.com/)。
6.我们试试在 Redbooks 网站上搜索 DB2 并发性主题。不必搜索整个 Redbooks 网站,只把搜索限制在 DB2 Information Management 产品集上。在页面的左边,在 Redbook Domain 下拉列表中选择 DB2 Info Mgmt 选项,从而显示与 DB2 产品相关的 Redbook。
7.在这个屏幕上,可以查看所有最新的 Redbook 并浏览与 DB2 相关的 Redbook。在屏幕顶部也提供了搜索功能,可以使用关键字搜索整个 IBM Redbooks 网站。
8.最后,还有 IBM Virtual Innovation Center(http://www.developer.ibm.com/welcome/vic.html),它是为独立软件厂商、系统集成商、解决方案提供商、增值转销商和开发人员设计的,它对于刚刚接触 IBM 技术的新手和现有的 IBM 业务伙伴都有帮助。在这里注册对于用几种 IBM 软件产品(包括 DB2 Express Edition)开发应用程序很有帮助。好处包括在用 IBM 软件构建应用程序的早期获得帮助,免费获得用于开发和培训用途的代码,访问在线 IBM 培训课程,通过电子邮件或聊天程序访问在线技术支持,访问在线市场营销资料,而且无需向 IBM 投入任何费用或做出任何承诺。如果您满足注册要求,这个网站对于您会很有价值!
参考资源
关于作者  | |  | developerWorks 中国网站编辑团。 |
对本文的评价
|