互联网服务数据库

缓冲池的命中率

请教什么是db2缓冲池的命中率?
参与10

8同行回答

dinnerxudinnerxu系统分析师招商银行武汉分行
简单的说:缓冲池就是一块内存区域,可想而知,在内存里面读数据,肯定比磁盘读数据要快得多。因此,数据库管理器需要从磁盘读取或写入磁盘的次数越少,性能就越好。对一个或多个缓冲池进行配置之所以是调优的最重要方面,是因为连接至数据库的应用程序的大多数数据(不包括大对象和长字...显示全部
简单的说:缓冲池就是一块内存区域,可想而知,在内存里面读数据,肯定比磁盘读数据要快得多。
因此,数据库管理器需要从磁盘读取或写入磁盘的次数越少,性能就越好。对一个或多个缓冲池进行配置之所以是调优的最重要方面,是因为连接至数据库的应用程序的大多数数据(不包括大对象和长字段数据)操作都在缓冲池中进行。缓冲池命中率表明数据库管理器不需要从磁盘装入页(即该页已经在缓冲池中)就能处理页请求的时间百分比。缓冲池的命中率越高,使用磁盘 I/O 的频率就越低。按如下计算缓冲池命中率:




(1 - ((buffer pool data physical reads + buffer pool index physical reads) /
(buffer pool data logical reads + pool index logical reads))
) * 100%




这个计算考虑了缓冲池高速缓存的所有页(索引和数据)。理想情况下,该比率应当超过 95%,并尽可能接近 100%。要提高缓冲池命中率,请尝试下面这些方法:

考虑分配多个缓冲池,如果可能的话,为每个经常被访问的大表所属的表空间分配一个缓冲池,为一组小表分配一个缓冲池,然后尝试一下使用不同大小的缓冲池以查看哪种组合会提供最佳性能。


如果已分配的内存不能帮助提高性能,那么请避免给缓冲池分配过多的内存。应当根据取自测试环境的快照信息来决定缓冲池的大小。收起
互联网服务 · 2010-12-13
浏览771
falwaiaifalwaiai数据库管理员
讲的很好!显示全部
讲的很好!收起
电信设备制造商 · 2012-03-27
浏览682
ljbupcljbupc软件开发工程师上海安硕科技
学习了。。正好遇到个类似问题。。从sql和索引上做了优化,把缓冲池漏掉了。。刚算了下,命中率还不到90.不算temp为83,算上temp也才86.。。这个是个大问题啊。。显示全部
学习了。。正好遇到个类似问题。。
从sql和索引上做了优化,把缓冲池漏掉了。。
刚算了下,命中率还不到90.
不算temp为83,算上temp也才86.。。
这个是个大问题啊。。收起
互联网服务 · 2012-03-27
浏览660
sgphappy2007sgphappy2007数据库管理员易宝支付
谢谢了显示全部
谢谢了收起
互联网服务 · 2012-03-15
浏览678
wuedenwueden数据库管理员arrail-dental
学习了...谢谢...显示全部
学习了...谢谢...收起
互联网服务 · 2012-01-05
浏览688
stephensun123stephensun123软件开发工程师SAP China
如果考虑完整的话,应该是如下的公式^_^Overall Buffer Quality (Overall Buffer Pool Hit Ratio/Rate) =1 – ((pool_data_p_reads + pool_index_p_reads + pool_xda_p_reads + pool_temp_data_p_reads + pool_temp_index_p_reads + pool_temp_xda_p_reads)   &...显示全部
如果考虑完整的话,应该是如下的公式^_^
Overall Buffer Quality (Overall Buffer Pool Hit Ratio/Rate) =
1 –
((pool_data_p_reads + pool_index_p_reads + pool_xda_p_reads + pool_temp_data_p_reads + pool_temp_index_p_reads + pool_temp_xda_p_reads)
             /
(pool_data_l_reads + pool_index_l_reads + pool_xda_l_reads + pool_temp_data_l_reads + pool_temp_index_l_reads + pool_temp_xda_l_reads)) * 100%收起
互联网服务 · 2010-12-13
浏览654
limin19821limin19821系统工程师乐酷天
简单的说:缓冲池就是一块内存区域,可想而知,在内存里面读数据,肯定比磁盘读数据要快得多。因此,数据 ...dinnerxu 发表于 2010-12-13 17:31 说的很好,也很详细啊!显示全部
简单的说:缓冲池就是一块内存区域,可想而知,在内存里面读数据,肯定比磁盘读数据要快得多。
因此,数据 ...
dinnerxu 发表于 2010-12-13 17:31


说的很好,也很详细啊!收起
IT分销/经销 · 2010-12-13
浏览693
weixiaomweixiaom高级架构师泰康养老保险股份有限公司
缓冲池命中率:(1 - ((buffer pool data physical reads + buffer pool index physical reads) / (buffer pool data logical reads + pool index logical reads))) * 100%查看缓冲池的命中率# db2 get snapshot for bufferpools on 数据库名查看缓冲池的命中率,看其是否低...显示全部
缓冲池命中率:

(1 - ((buffer pool data physical reads + buffer pool index physical reads) / (buffer pool data logical reads + pool index logical reads))
) * 100%

查看缓冲池的命中率
# db2 get snapshot for bufferpools on 数据库名
查看缓冲池的命中率,看其是否低于95%(命中率越高越好)收起
保险 · 2010-12-13
浏览718

提问者

sgphappy2007
数据库管理员易宝支付
擅长领域: 数据库HADRAIX

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-12-13
  • 关注会员:1 人
  • 问题浏览:9750
  • 最近回答:2012-03-27
  • X社区推广