学习参考DB2数据库性能优化技巧详解最简单而最见成效的——Bufferpool缓冲池是内存中的一块存储区域,用于临时读入和更改数据库页(包含表行或索引项)
缓冲池的用途是为了提高数据库系统的性能
从内存访问数据要比从磁盘访问数据快得多
因此,数据库管理器需要从磁盘读取或写入磁盘的次数越少,性能就越好
对一个或多个缓冲池进行配置之所以是调优的最重要方面,是因为连接至数据库的应用程序的大多数数据(不包括大对象和长字段数据)操作都在缓冲池中进行
缺省情况下,应用程序使用缓冲池IBMDEFAULTBP,它是在创建数据库时创建的
当SYSCAT
BUFFERPOOLS目录表中该缓冲池的NPAGES值为-1时,DB2数据库配置参数BUFFPAGE控制着缓冲池的大小
否则会忽略BUFFPAGE参数,并且用NPAGES参数所指定的页数创建缓冲池
建议对于仅使用一个缓冲池的应用程序,将NPAGES更改成-1,这样BUFFPAGE就可以控制该缓冲池的大小
这使得更新和报告缓冲池大小以及其它DB2数据库配置参数变得更加方便
确保可以使用数据库配置中的BUFFPAGE参数来控制缓冲池大小之后,将该参数设置成合适的值
根据数据库的大小和应用程序的性质将该参数设置成一个合理的大值,这种做法很安全
通常,该参数的缺省值非常小,可能满足不了要求
db2"getsnapshotforallbufferpools"在数据库快照或缓冲池快照的快照输出中,查找下列"logicalreads"和"physicalreads",这样就可以计算出缓冲池命中率,它可以帮助调优缓冲池:缓冲池命中率表明数据库管理器不需要从磁盘装入页(即该页已经在缓冲池中)就能处理页请求的时间百分比
缓冲池的命中率越高,使用磁盘I/O的频率就越低
按如下计算缓冲池命中率:
学习参考(1-((bufferpooldataphy