oracle TPS和QPS

oracle 专栏收录该内容
382 篇文章 0 订阅

Oracle作为RDBMS的一哥,很多细节设计的比较完善。在v$SYSMETRIC*这些视图中,已经帮你计算好了TPS和QPS。

方法1:查询V$SYSMETRIC或V$SYSMETRIC_HISTORY

QPS:

  1. 最近1分钟QPS
  2. select value from v$sysmetric where metric_name in ('Executions Per Sec') where group_id=2
  3. 最近15秒QPS
  4. select value from v$sysmetric where metric_name in ('Executions Per Sec') where group_id=3
  • 1
  • 2
  • 3
  • 4

TPS:

  1. select (select value from v$sysmetric where metric_name in ('User Commits Per Sec') and group_id=2) +
  2. (select value from v$sysmetric where metric_name in ('User Rollbacks Per Sec') and group_id=2) as TPS from dual;
  • 1
  • 2

方法2:自己查询V$SYSSTAT,类似mysql的方法,计算出QPS和TPS

QPS:前后两次差值/时间差

select  value from v$sysstat where name = 'execute count';
  • 1

TPS:前后两次差值/时间差

  1. select (select value from V$SYSSTAT where name in ('user commits')) +
  2. (select value from V$SYSSTAT where name in ('user rollbacks')) as TPS from dual;