六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 78|回复: 0

IBM红皮书《DB2 Performance Guide》学习笔记

[复制链接]

升级  40%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
20
 楼主| 发表于 2013-1-13 18:58:01 | 显示全部楼层 |阅读模式
在书的第6章问题检侧的情景中,列出db2问题检测的先后次序
   1、Connection constraints
   2、Sorting constraints
   3、Locking constraints
   4、Buffer pool problems
   5、Cache size problems
   6、Miscellaneous problems
   此1-5有专门的指标来判断
   一、Connection constraints
         涉及几个参数
         dbm参数max_connections、maxagents、maxcagents、max_coordagents
         db参数maxappls
         可以通过db2 get snapshot for dbm 检查下面指标,
         在下面中,前面为快照获取的数据,后面一项为配置参数
         1) Remote connections to db manager + Local connections < max_connections
         2) High water mark for agents registered < maxagents
         3) High water mark for agents waiting for a token 越接近0越好
         4) High water mark for coordinating agents < max_coordagents
         检查数据库参数
         db2 get snapshot for all on sample
         检查
         High water mark for connections < maxappls
   二、Sorting constraints
        涉及dbm参数sheapthres 
              db参数 sheapthres_shr、sortheap
        db2 get snapshot for dbm 检查dbm参数
        1) Private Sort heap high water mark < sheapthres
        2) Post threshold sorts 应该非常小
        3) Piped sorts requested与Piped sorts accepted之差非常小,等于0最好
        4) Hash joins after heap threshold exceeded应该非常小,0最好
        db2 get snapshot for all on sample 检查db参数
        1) Shared Sort heap high water mark < sheapthres_shr
        2) Sort overflows应该非常小
   三、Locking constraints
        涉及db参数dlchktime、locklist、locktimeout、maxlocks
        db2 get snapshot for all on sample检查
        1) Time waited on locks、Lock waits应该非常小 否则关注locktimeout参数
        2) Lock escalations、Exclusive lock escalations应该比较小
        3) Deadlocks detected、Lock timeouts应该比较小
   四、Buffer pool constraints
   五、Cache size constraints
        四、五两项主要关注缓存的命中率,命中率一般希望能达到90%以上
   六、Miscellaneous constraints
         关注dbm参数
              intra_parallel、maxfilop、maxtotfilop、rqrioblk、num_poolagents
        db参数 chngpgs_thresh、logbufsz、num_iocleaners、num_ioservers
        环境变量
        DB2_PARALLEL_IO、DB2MEMDISCLAIM、DB2MEMMAXFREE、DB2NTMEMSIZE、DB2_PINNED_BP    
   检查完上面的步骤之后,进行到最为艰难的sql语句跟踪
        1) 创建事件监控器
           db2 create event monitor msql_mon for statements,connections write to table
               buffersize 4 blocked manualstart
           db2 flush event monitor sql_mon
           db2 set event monitor msql_mon state 1
        2) 找出对性能影响最大的sql语句
          db2 "select substr(char(agent_id),1,4) agent_id,rows_read,rows_selected,
                 total_sorts,sort_oveflows,(system_cpu_time + user_cpu_time) as cpu from
                 conn_msql_connection order by cpu desc"
          从上面找出最耗cpu的agent_id,从中找出sql语句
          db2 "select substr(stmt_text,1,256) as statment from stmt_msql_statment where
                  agent_id = 上面的id and stmt_operation = 6 "
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表