服务器 频道

DB2使用Direct IO的优点

  【IT168 服务器学院】缺省情况下,DB2不使用Direct IO,这就意味着数据不光保存在DB2的缓冲区中, 同时也保存在文件系统缓冲中. 使用Direct IO能够减少文件系统缓冲占用的额外内存空间,从而使DB2能够使用更大的Buffer Pool, 排序堆栈,实用程序堆栈等资源, 同时也减轻了CPU在文件系统缓冲和Buffer pool中拷贝数据的负担.在最近的一次性能测试中,使用Direct IO使OLTP的性能提高了12%。

  当然, 如果您的表空间包含LOB或LONG VARCHAR类型数据,我们还是建议使用文件系统缓存, 原因是DB2的Buffer Pool并不缓存大对象数据.另外,裸设备的表空间也无需使用Direct IO。

  您可以在数据库级或表空间级指定是否用Direct IO, 下面是一个简单的例子:

  db2 connect to sample;

  db2 "create regular tablespace DIRETB managed by database using (FILE ''/data/container'' 500) NO FILE SYSTEM CACHING";

  db2 connect reset;

  db2 terminate;

0
相关文章