zoukankan      html  css  js  c++  java
  • DB Cache

    1 DB Cache 是以bock为单位组织的缓冲区,不同大小的BLOCK对应不同的缓冲区参数
    2 DB Cache的命中率越高,访问性能就越好
    3 Cache中的数据块通过散列算法实现
    4 每个链上的buffers数量,最佳的情况是每个链上只有一个buffer
    5 DBWR进程控制脏数据写入
    6 在DB Cache,同一个数据块中可能存在多个版本的数据
    7 大表的扫描,热块冲突都可能导致闩锁的争用
     
    引入tch计数器,避免LRU链上频繁移动
     
    LRU链上搜索达到最大深、LRU-W上没有足够的clean buffers都会触发标记位,使得DBWR进程讲脏数据写入磁盘
     
    几个重要的数据链:
    1 LRU list普通的LRU链
    2 LRU-AUX list 被确认的clean的链,包括DBWR已经写回文件的 数据块和干净快
    3 LRU-XO list 重用对象链
    4 LRU-XR list CKPT搜索这些BUFFER,将脏数据写入该链,再由DBWR写入磁盘
     
    闩锁争用:
    1 热块冲突
    2 数据库在某个时间段出现大量的数据块扫描、热链
     
    使用keep pool存放大表,可以降低物理读,改善cache命中率
     
    使用owi观点和时间模型分析,帮助分析数据库性能
     
    DB cache命中率低,意味着更多的物理IO、更多的闩锁使用、较低的效率。RAC中,更多的实例间通信消息
     
    DB cache调优,注意 free buffere waits writes complete waits两个性能指标
  • 相关阅读:
    [Luogu]小Z的AK计划
    [POI2006]OKR-Periods of Words
    [NOI2014]动物园
    [NOI2009]管道取珠
    [IOI2005]河流
    [国家集训队]Crash的文明世界
    [HDU5382]GCD?LCM!
    [AGC027E]ABBreviate
    [CF]Round510
    [NOIp2005]篝火晚会
  • 原文地址:https://www.cnblogs.com/xing901022/p/3517250.html
Copyright © 2011-2022 走看看