ALLSTARS_ORACLE 发表于 2014-1-31 17:03:48

一个transaction的执行时间

一个transaction的执行时间

    怎么样从awr里,看到一个transaction平均要多长时间完成呢。 可以从awr里看到每个事物有多少redo,多少逻辑读,但是每个事物平均需要执行多长时间呢
     
            目的是想从数据库层面大体看到,用户那边的感受,




Answer:

一个transaction的平均时间,这个本身就是个伪概念。一个transaction的持续时间完全不取决于数据库。你更新了一条记录,什么都不做,两天后commit和你更新了一条记录,运行了另外10000条语句(执行了两天),然后commit的transaction时间是一样的,但是说明不了什么问题。关于transaction,我们最常看的就是transaction per second,每秒钟的transaction数,这是OLTP的最重要的指标。想看用户感受,看整体response时间,这个跟transaction时间没有关系。


嗯,是的,我在想是不是有时候看到awr里显示状态正常的,或者显示性能应该还不错,但实际性能已经很糟糕了,所以想从数据库层面找一个值来评估用户的反应

或者是否有相应的办法来评估,比如可以cpu  40 core ,1小时的时间,db time是 1小时,那直观感觉,应该没啥问题,但是可能实际上问题很大了


最直接的指标就是数据库时间,DB Time。从数据库的角度我们最关心的就是在数据库层面消耗的时间是多少。但DB Time反映的是整体时间。如果不同负载情况下正常的DB Time可能也不会完全相同,所以 - 基线很重要,有对比我们才能知道什么是正常。

页: [1]
查看完整版本: 一个transaction的执行时间