ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle DB 压力测试相关性能指标及达到指标的方法

Oracle DB 压力测试相关性能指标及达到指标的方法

原创 Linux操作系统 作者:tolywang 时间:2013-09-03 12:26:02 1 删除 编辑
数据库服务器的几个性能测试指标(单机或RAC, RAC的某些值需要加总或求平均):

DB服务器CPU利用率 
        ---  可从NMON ,  AWR 或 SQL 获取,如果是RAC,  可能需要求平均值。  

IOPS                            
         ---  NMON获取的IOPS更精确  (相对AWR或SQL)  ,类似Physical Read Total IO Requests,数据库的一次I/O和操作系统的一次I/O 不同。

IO带宽
      ---- NMON中 DISK_SUMM 的sheet上 Disk Total KB/s 上有呈现。

每秒产生的Redo大小(Redo size Per Second)
          ----  涉及到数据库redo ,  从AWR或SQL获取 

每秒Transactions数(Transactions Per Second 或 Txns/s) 
          ----  涉及到数据库transactions ,  从AWR或SQL获取 

IO Response Time  
          ----  涉及到数据库IO响应,  从AWR或SQL获取    (查找等待事件中Timed Events:   db file sequential read , 查看Wait Time下的 Avg(ms) 可得到 )    

如果是RAC ,   AWR报告需要是全局的, 执行  awrgrpt.sql  。

------------------------------------------

压力如何调整: 

1.     如果需要增加IOPS 而不增加IO带宽(吞吐量), 可以适当减少全表扫描的查询,增加通过rowid 进行索引扫描的查询 , 比如可以通过 dba_segments 查询出size较大的几个表,通过强制使用index 进行rowid 访问来增加IOPS .
例如:  select   /*+INDEX(a  )*/    count(1)   from   gl.gl_je_lines  a   where   description  is  not  null  ;   
 条件中选择最不可能建立index的列 (查一下是否使用到index也可以) , 或者说长度最长的那个字段, 比如这里的 description ,  列上最好有值 。  这样通过 where 后的条件字段不能直接在 index 中取值,而需要通过rowid 在table中取值, 那么相对block 更加分散, IOPS 会增加较快, 而IO带宽相对增加不多。 

2.   如果需要增加IO 带宽 , 那么全表扫描是一个选择 。

3.   如果需要增加redo size /S  的大小,  自然是增加单位时间内的 DML 。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-775263/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 查询EBS应用版本
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13336684