zoukankan      html  css  js  c++  java
  • [性能调优]如何通过读PeopleSoft Trace文件来调优

    理解PeopleSoft Trace文件对于解决性能问题是绝对有必要的。你可能面临一个问题,用户抱怨性能较慢,而OEM并没有补货SQL,你有2种方法选择:使用PeopleSoft trace检查或启用数据库的跟踪来查找SQL。

    你应该优先选择PeopleSoft的Trace。此外你需要了解Trace文件中的所有内容才不会感到困惑。你可以使用TraceMagic工具来分析Trace文件。

    下面是如何来读取Trace 文件来识别性能瓶颈的SQL,然后再做进一步打算:

    这个trace文件是8.54的

    PSAPPSRV.8972 (706) 1-19753 10.45.11 0.000000 Cur#1.8972.ELM91DEV RC=0 Dur=0.000000 COM Stmt=SELECT FILL.LM_GRADE_VAL_ID,FILL.LM_GRADE_LABEL FROM PS_LM_GRD_SCH_VW FILL

    下面来理解下这行日志,我们关注的部分是:

    1-19753 10.45.11 0.000000 Cur#1.8972.ELM91DEV RC=0 Dur=0.000313 COM Stmt=SELECT FILL.LM_GRADE_VAL_ID,FILL.LM_GRADE_LABEL FROM PS_LM_GRD_SCH_VW FILL

    第一列:1-19753 这是进程的顺序行计数器,下一行将有递增的数字。

    第二列:10.45.11 这是记录跟踪行的时间戳,这个时间戳来自于用户的机器,并不是来自于数据库的时间戳。

    第三列:0.000000 这是自上一条日志写进来的时间这意味1-19752之后用了0.000000秒 写了1-19753。

    第四列:Cur#1 这是语句的光标号,如果您打开第二个游标,将会有一个大于1的光标号。例如:

    PSAPPSRV.20822 (56) 1-54263 11.42.34 0.000195 Cur#1.20822.notSamTran RC=0 Dur=0.000002 Open Cursor Handle=0000000000AF0E10
    PSAPPSRV.20822 (56) 1-54264 11.42.34 0.000009 Cur#2.20822.notSamTran RC=0 Dur=0.000002 Open Cursor Handle=0000000000AF0E10

    第五列:ELM91DEV 这是API调用正在执行的PeopleSoft 实例名。

    第六列:RC=0 这是API调用返回的代码。

    第七列:Dur=0.000313 这个返回的时间是根据调用的不用或执行sql语句的不同返回的时间。

    第八列:COM Stmt=SELECT FILL.LM_GRADE_VAL_ID,FILL.LM_GRADE_LABEL FROM PS_LM_GRD_SCH_VW FILL 这是数据库API调用。

    理解trace timer 对于解决性能问题是非常有必要的。有2个主要的timers需要理解:

    Dur=0.000313 这表示与SQL语句相关的API调用时间,换句话说这可能是准备或执行的时间,这是你在解决性能问题时需要考虑的时间参数,很多时间这个参数的值和CPU的值是一样的。

    第二列:0.000000 前文已经说明,这是上一条跟踪被写入的时间,所以这个时间可能是下面几种:

    用户在思考的时间--如果此处的值非常大,那么这一定是用户思考的时间。如果之前的行是断开连接,提交或回滚,也说说明是用户思考的时间。这个值很大的话,不用担心。

    PeopleTools处理时间--这将是一个导致不会写日志的活动。这可能是在等待远程调用,或者是页面在处理,由于这些原因,这个时间可能很大,需要考虑。

    SQL-可能是SQL执行的时间。

    我的公众号:

  • 相关阅读:
    自己总结的Java归并排序代码
    SpringDataJpa
    多态
    向上转型向下转型
    python面向对象装饰器
    Apache
    git
    μWSGI
    虚拟环境
    软件仓库(持续更新中)
  • 原文地址:https://www.cnblogs.com/eason-liu/p/7136173.html
Copyright © 2011-2022 走看看