又是周末了,忙忙碌碌的一周又要过去了,连续忙了一个多月,放松下来发现很多东西需要沉淀。首先对在DB2数据库端调优留下点Memory。
对于DB2的调优,我们一般需要以下的步骤:
DB2 配置调优:
查看目前bufferpool的设置的方法:
db2pd -db -bufferpools
来确定bufferpool相关的配置来进行性能瓶颈分析。
调整DB2内存的方法:
请参考官方文档。
修改内核参数(Linux):
请参考官方文档。
DB2 SQL调优:
评估当前性能,并记录到文档。
与创建查询的人会谈,并得出合理的性能预期。
建立查询的业务目标。
对于来自生产系统的查询,获得一个 Explain 计划。
如果可行的话,在测试系统上重建环境,并重新运行查询。
对于与查询相关的所有表,确信最近在这些表上执行了 Runstats 或与之等价的远程命令。
确保各个表的重组,以匹配它们的集群索引。
查找 WHERE 子句中索引列上的 SQL 函数,这些函数可能导致优化器忽略了索引。
确保在 WHERE 子句中尽可能使用索引列。
查找笛卡儿积(Cartesian products)。
跟踪每一项更改的效果,每次跟踪一项。
DB2实时性能监控:
详细信息请参考DB2性能监控。
还是那句话,调优无止境,方法才是硬道理