获取Oracle的当前负载情况:
查询sql语句如下:
SELECT?*
FROM?(?SELECT?A.INSTANCE_NUMBER,
A.SNAP_ID,
B.BEGIN_INTERVAL_TIME +?0?BEGIN_TIME,
B.END_INTERVAL_TIME +?0?END_TIME,
ROUND(VALUE?-?LAG(?VALUE,?1?,?'0')
OVER(ORDER?BY?A.INSTANCE_NUMBER, A.SNAP_ID)) "DB TIME"
FROM?(SELECT?B.SNAP_ID,
INSTANCE_NUMBER,
FROM?DBA_HIST_SYS_TIME_MODEL B
WHERE?B.DBID = (SELECT?DBID?FROM?V$DATABASE)
AND?UPPER?(B.STAT_NAME)?IN?UPPER(('DB TIME'?))
GROUP?BY?B.SNAP_ID, INSTANCE_NUMBER) A,
DBA_HIST_SNAPSHOT B
WHERE?A.SNAP_ID = B.SNAP_ID
AND?B.DBID = (SELECT?DBID?FROM?V$DATABASE)
AND?B.INSTANCE_NUMBER = A.INSTANCE_NUMBER)
WHERE?TO_CHAR(BEGIN_TIME,?'YYYY-MM-DD') = TO_CHAR(SYSDATE?,?'YYYY-MM-DD')
ORDER?BY?BEGIN_TIME;
SQL 结果:
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql show global status like 'Question%';
TPS = (Com_commit + Com_rollback) / seconds
mysql show global status like 'Com_commit';
mysql show global status like 'Com_rollback';
这种问题要回答好要求知识比较全面.
①. 从操作系统层次上看
看CPU 内存 swqp(交换分区)等使用率
主要看磁盘读写.可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率.
先要看数据库各个参数的值 . 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理.
长期观察的方式就是看各个时期的AWR报告.里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名.从这里面可以掌握数据库的长期的性能变化.
即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)
还有对数据库整体的一个检查:
如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位...
额 都说到这里了大家应该明白,这个话题涉及的知识非常多,尽可能多的学习一些东西,good luck.
参考一下吧
环境说明:
近期一直在搞业务压测,提升系统的事务处理能力.事务处理量从刚开始的三千到如今的接近一万,中间也积累了一些优化方法,分享给各位.首先当然需要你的系统是处理大并发事务的,如果你的系统每秒TPS才一两百,可能事务优化并不是主要的目的,我的方法对你也不一定有作用.这里一共包含两个部分的优化手段,第一部分是常规的优化手段,第二部分是稍微"邪门"点的优化手段.
大并发事务常规的优化手段:
非常规手段的优化:
查看的方法和详细的操作步骤如下:
①.、首先,因为oracle在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步.
输入命令"sqlplus / as sysdba",如下图所示,然后进入下一步.
以上就是土嘎嘎小编为大家整理的oracle怎么看tps相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!