数据库压测指标的一点理解

Read iops:

应用运行过程中物理读请求次数,单位是数据库一个block ,主要是server 进程读到buffer cache 或者pga 中数据块数

Write iops:

应用运行过程中物理写请求次数,单位是数据库一个block;包含备份恢复及数据库其他组件操作过程中导致的物理写次数;

物理写:

数据库应用的写吞吐,是通过写次数乘以block size 换算出来的;

物理读:

数据库应用的读吞吐,是通过写次数乘以block size 换算出来的;

 

DB Time

数据库运行过程中,用户层面调用开销时间,不包含后台实例进程开销时间;

Db time 的主要组成部分:

1) DB time

    2) DB CPU

    2) connection management call elapsed time

    2) sequence load elapsed time

    2) sql execute elapsed time

    2) parse time elapsed

          3) hard parse elapsed time

                4) hard parse (sharing criteria) elapsed time

                    5) hard parse (bind mismatch) elapsed time

          3) failed parse elapsed time

                4) failed parse (out of shared memory) elapsed time

    2) PL/SQL execution elapsed time

    2) inbound PL/SQL rpc elapsed time

    2) PL/SQL compilation elapsed time

    2) Java execution elapsed time

    2) repeated bind elapsed time

DB CPU

数据库运行过程中,用户层面cpu 使用开销时间,不包含后台实例进程开销cpu时间;

Db time 包含db cpu,db time由多部分组成,一个运行健康的数据库一般而言db cpu 会占据数据库 db time 的绝大部分,这是比较好的理想状态;

Connection:

数据库连接数,展现数据库的会话连接情况,会话连接数是数据库的宝贵资源;

 

Os层面和数据库层面压测的区别理解?

  1. os 层面的io压测和数据库层面的io压测,他们在逻辑的一个io单位完全不是一个概念
  2. 数据库的io有多种,对redo 的写IO是连续的,数据文件等其他文件的io操作存在较大随机性,可以说对于数据的压测结果如果压测业务模型不一样,压测的结果会相差很多;而纯os层面的压测可能压测数据结果不会有太多的偏差,即业务模型不一样;
  3. 操作系统的一个io带有原子性,而数据库的一个IO操作是一个逻辑单元;会受到的影响较大,比如lgwr,dbwr 的写机制;内存里的并发机制(lock,latch),即底层IO机制不一样;

猜你喜欢

转载自blog.csdn.net/royjj/article/details/81295592
今日推荐