设置 DB2 和 AIX 与条带技术匹配以提高 I/O 性能
2008-12-30 16:37:08 来源:WEB开发网条带深度
为了提高 I/O 效率,一次逻辑 I/O 请求转化成物理 I/O 请求后,应该让这些物理 I/O 分布到最多的物理磁盘上去,也就是每个物理磁盘处理的物理 I/O 最少,最好只有一次 , 因而影响条带的一个重要因素就是一次逻辑 I/O 请求的大小。
此外,系统中 I/O 的并发度不同我们对条带的配置要求也不同。例如,在高并发度且逻辑 I/O 请求的大小都比较小的情况下,我们希望一块磁盘能同时响应多个 I/O 请求;而在那些存在大的逻辑 I/O 请求的低并发度系统中,我们可能就需要多块磁盘同时响应一个 I/O 请求。无论是一个磁盘还是多个磁盘响应 I/O 请求,我们的一个原则是让一次逻辑 I/O 能被物理设备一次处理完成。
条带宽度
正如我们前面所述,无论是一个还是多个磁盘响应一个逻辑 I/O,我们都希望物理设备只处理一次 I/O 。因而在确定了条带深度的基础上,我们需要保证条带宽度 >= I/O 请求的大小 / 条带深度。这样就能最大程度的保证 I/O 请求的并发处理能力了。
此外,考虑到以后系统容量的扩充,我们也需要规划好条带宽度。
在 DB2 中合理规划和设置条带相关参数
下面先看下影响 I/O 性能 DB2 数据库的相关参数:
页大小(page size):DB2 中的数据页大小,也决定了 DB2 一次单个 I/O 请求中的数据块的大小;
预读大小(prefetch size):在预取读时,一次读取数据块的数量不能大于操作系统的最大 I/O 大小(oracle 中是参数 block size);
排序堆(sortheap)和排序堆阈值(sheapthres) :内存中 sort 区域的大小,也决定了并发排序操作时的 I/O 大小;
其中,前面两个是最关键的两个参数。
DB2 的数据页大小是在创建数据库的时候指定的,并且不能被动态的修改。它决定了在 DB2 中所有的表空间默认的页大小。但是我们在创建每个表空间的时候还可以根据数据存储的需要单独指定页的大小。
更多精彩
赞助商链接