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 参数可以增加装载过程中的缓存空间,提高性能。