APM(Applications Manager)监控如何查看和分析-应用性能页签
仅为个人见解,适合:性能测试小白;以下只记录我本人能看的明白的,和觉得有用的指标;
APM可在性能测试过程中,作为辅助分析的工具
选择时间段
选择合适的时间为前提,如果日期为一天而非一个时间段,那么数值被拉长到一天,可能已经不准确了;
因此APM最好是当天几个小时之内就进行分析;
一、概况
APdex:整体看应用性能指数;指数并未有统一判断标准;
个人总结(不准,仅为猜测):不应该出现 烦躁期,总分应该在90%以上;
例外:包括 严重和告警,此处告警为27,说明存在27个异常,具体可在“Exceptions”中查看
应用性能指数评分:最低点为刚运行完压力测试,最低评分为39,此评分作为此次性能测试的评分相对准确;
例外数:可看到例外全部在压测期间内产生
应答较慢的前5个事务:可将“平均响应时间”倒序排列,能看到响应时间最长的前5个事务(请求)
前五个最慢的追踪:显示响应时间最长的请求,可能是同一个请求名称;
最近5个异常跟踪:显示同“Exceptions”页签显示的异常及次数
二、Transactions
1、列表:默认显示所有请求列表,可以按各个列来分别查看和分析;
1)性能指数评分:通过每个请求的评分产生直观感受,单评分低于90%的请求的可能都不合格,需要通过其他指标综合分析;
2)次数:通过次数能分析出请求执行的次数;
3)平均响应时间:这个值的参考意义没有那么大,因为数值都被平均了,不能反映出明确问题;
4)最高响应时间:具有参考意义,最高响应时间得看看用户是否可接受,如果特别高,可能需要开发后续进行优化;
5)总应答时间:具有辅助参考意义,该时间过长(次数一定),说明该请求的响应时间一直都比较长;
点击事务:进入每个事务单独的显示界面(右侧界面显示此事务的具体信息,此处不截图一一说明了)
如下图,上方表格整体显示此事务的各种指标;
三、数据库:
列表各列可以根据需要排序,比较有用的列:计数、错误、最高响应时间、总应答时间;
1)计数:通过计数可以查看sql语句使用次数,次数多的应该重点关注,尤其是存在慢sql的情况;
2)错误:查看sql语句错误率;
3)平均响应时间:这个值的参考意义没有那么大,因为数值都被平均了,不能反映出明确问题;
4)最高响应时间:具有参考意义,最高响应时间得看看用户是否可接受,如果特别高,可能需要开发后续进行优化;
5)总应答时间:具有辅助参考意义,该时间过长(次数一定),说明该sql语句时间一直都比较长;
点击“数据库操作”的sql语句,弹出窗口
数据库中的前5个跟踪:显示sql时间较长的前5个请求
四、Traces页签
1、选择 响应时间 有问题的事务,进行查看
- 通过响应时间、SQL时间等关心的列进行排序,一般为由大到小;
- “事务处理”列点击某个事务名称链接,弹出窗口,查看详情,分析问题;
- 如下方通过“响应时间”进行排序,查看响应时间较大的事务来分析其产生的问题;
1)从“追踪详情”的最后语句 Un-Instrumented Block of code,可见追踪过程中出错,未追踪到根本问题;
2)“SQL语句”页签,可见sql语句并不是常见的业务型sql语句,可判断出来sql语句未真正获取;
3)“例外”页签可见,消息提示为“二维码获取失败”,异常类显示报错信息,说明此接口在此环境下是无法获取二维码的,这样性能测试结果,此请求的响应时间是非常大的,而且是不准确的;
4)“该事务的其他追踪”页签,显示了该请求的其他追踪,包括 图形(响应时间和吞吐量)、列表(响应时间等指标)
结论:此请求首先是测试环境下二维码获取失败,导致报错,响应时间异常长, APM没有追踪到真实的sql语句;
2、选择 SQL语句长的事务,点击“事务处理”列的事务名称,弹出窗口,查看
1) “汇总”页签
查看 最慢的方法调用和计数,第一位是一个sql语句,达3.48s;(ps:此处sql语句只显示语句主要部分,不显示全部,如果想了解全部语句,需要查看“SQL语句”页签)
2)“SQL语句”页签,2条语句,主体部分一致,可以合并为一类语句,这2条语句执行时间都比较长,可将语句在数据库连接工具中执行一下,查看执行时间,执行时将id号等补全;本例可发现执行时间为1.8s,数据量为2710条数据;
(2个语句长度相加为3.48s,与“汇总”页签的3.48s一致)
3)“该事务的其他追踪”页签,可查看到此请求的sql语句和响应时间均很高;
六、Exceptions
可查看到报错信息