DB2实用程序的性能优化


  本文标签:DB2

  在上一篇文章中我们看了DB2性能问题分类与分析思路,这次我们来关注一下DB2的实用程序性能优化  。

  先来看一下如何提高备份操作的性能:

  提高数据库配置参数 UTIL_HEAP_SZ 的大小,这个内存区域用来为备份和恢复操作提供缓冲  。

  减少整库备份,多采用表空间备份需要的表空间  。

  减少完全备份,多采用增量备份或 DELTA 备份  。

  增加备份命令中的 PARALLELISM 参数来增加备份的并行性(增加线程或进程)  。

  增加备份命令中的 BUFFER 参数值  。

  增加备份的目标目录,最好能将多个目录放在不同的硬盘上,这样可以增加备份的并行程度  。

  再来看一下如何提高恢复操作的性能:

  和备份操作一样,需要增大数据库配置参数 UTIL_HEAP_SZ 的大小  。

  增加恢复命令中的 BUFFERS 参数值  。

  增加恢复命令中的 PARALLELISM 参数来增加备份的并行性(增加线程或进程)  。

  容器分布于不同的硬盘上也可以使恢复操作加快(提高并行性)  。

  采用 SMP 模式来激活多代理来增加恢复操作的并行性  。

  提高导入操作(import)的性能 :

  import 操作类似 insert 操作,因此很多方法可以参见 insert 的调优步骤  。

  添加 compound=x 选项可使导入操作批量进行而减少了网络的通信量  。

  增加 COMMITCOUNT 的值已减少 LOG 的 I/O 次数  。

  启用缓冲区插入,对 db2uimpm 程序包使用 INSERT BUF 选项重新绑定到数据库  。在 import 以前执行命令: db2 bind db2uimpm.bnd insert buf

  提高导出操作 (export) 的性能:

  Export 操作类似 select 操作,因此很多方法可以参见 select 的调优步骤  。

  将 export 操作导出的文件放在与数据和日志不同的硬盘上以减少 I/O 的竞争  。

  提高载入操作 (load) 的性能:load 操作中日志的写操作比 import 要少,所以 load 的性能比 import 要好很多,下面还是看看如何更好地提高 load 的性能  。

  在多分区环境下,db2 load 会进行并行装载,性能会大幅度提高  。

  添加 buffer 参数可以增加装载过程中的缓存空间,提高性能  。