This latch is needed when user processes try to scan the LRU (least recently used) chain containing blocks in the buffer cache. This latch must be acquired before the block can be inserted into (when the block is read in from the disk) or taken out of the LRU chain (when the block is written down to the disk).
Solutions:
1)Consider implementing multiple buffer pools to reduce contention on this latch.
2)Increase the number of LRU latches with the parameter DB_BLOCK_LRU_LATCHES. Generally the default value works.
3)Reduce data blocks visited by a query and thereby reduce LRU latch requests in the buffer pool by tuning the SQL.
cache buffers lru chain latch争用主要由于过多空闲缓冲区请求导致,如下情况可能导致该latch竞争:
1)低效SQL
2)过小的buffer cache
3)过多的检查点
cache buffers chains latch与cache buffers lru chain latch区别:
1)前者在多个会话同时访问同一个表或索引,甚至集中在某个热块时发生,后者发生在多个会话分别访问不同表导致空闲缓冲区争用而引发
2)后者一般伴随物理IO(索引扫描时db file sequential read,全表扫描时db file scattered read)
参考:等待事件_cache_buffers_lru_chain_latch
http://blog.itpub.net/18922393/viewspace-712721/
Solutions:
1)Consider implementing multiple buffer pools to reduce contention on this latch.
2)Increase the number of LRU latches with the parameter DB_BLOCK_LRU_LATCHES. Generally the default value works.
3)Reduce data blocks visited by a query and thereby reduce LRU latch requests in the buffer pool by tuning the SQL.
cache buffers lru chain latch争用主要由于过多空闲缓冲区请求导致,如下情况可能导致该latch竞争:
1)低效SQL
2)过小的buffer cache
3)过多的检查点
cache buffers chains latch与cache buffers lru chain latch区别:
1)前者在多个会话同时访问同一个表或索引,甚至集中在某个热块时发生,后者发生在多个会话分别访问不同表导致空闲缓冲区争用而引发
2)后者一般伴随物理IO(索引扫描时db file sequential read,全表扫描时db file scattered read)
参考:等待事件_cache_buffers_lru_chain_latch
http://blog.itpub.net/18922393/viewspace-712721/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2150823/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31397003/viewspace-2150823/