性能测试的监控部署(六)——大话性能测试(20)

发表于:2022-7-18 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡通    来源:51Testing软件测试网原创

  (3)操作使用。
  首先,输入如下命令启动TProfiler:
-javaagent :/opt/tprofi1er/tprofi1er-1.0.1.jar 
-Dprofile. properties=/opt/tprofiler/profile.properties
  指令操作如下所示。
  査看TProfiler当前状态:
$ java -cp /opt/tprofiler/tprofiler-1.0.1. jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 status
  关闭TProfiler:
$ java -cp /opt/tprofiler/tprofiler-1.0.1. jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 stop
  开启TProfiler:
$ java -cp /opt/tprofiler/tprofiler-1.0.1. jar com.taobao.profile.client.TProfilerClient 127.0.0.1 30000 start
  保存数据:
  执行此命令会将数据保存到~/logs/目录下生成“TProfiler的日志.png”。
  用普通方法进行线程统计:
$ java -cp /opt/tprofiler/tprofiler-1.0.1. jar com.taobao.profile.analysis.SamplerLogAnalysis~/ logs/tsampler. log~/logs/method. log~/logs/thread. log
  top统计:
$ java -cp /opt/tprofiler/tprofiler-1.0.1. jar com.taobao.profile.analysis.ProfilerLogAnalysis-/ logs/tprofiler. log~/logs/tmethod. log^/logs/topmethod. log~/logs/topob j ect. log
  执行上述命令显示的topmethod.log部分结果如下:
com/defonds/core/ppts/common/support/JsonUtils : object2 j sonString: 123 13519 154 2083584 com/caucho/hessian/client/HessianURLConnection: sendRequest: 156 15894 130 2072565 com/defonds/rest/core/client/proxy/ResourceJsonlnvocationHandler:invoke:39 8123 113 921340 com/defonds/core/ppts/cache/service/impl/MerBankCfgServicelmpl: selectMerBankCfgByParams:
72 54213 15 799322
com/def onds/core/ppts/incomes/biz/sinopay/service/impl/SinoPayBankReturnServiceImpl4 Json: updateOrderSuccess:792 2495 176 438542
  结果显示的数据分别是方法信息、执行次数、平均执行时间(单位为毫秒)和全部执行时间(单位为毫秒)。
  方法执行时间的统计非常重要,它是TProfiler最重要的特性,是TProfiler能够傲视所有其他性能测试类(包括JVM性能测试类)工具的关键所在,我们将会不止一次地在关键的时候受益于TProfiler的这一非常有用的特性。
  根据topmethod.log统计结果,我们拿到了热点方法前10位的被调用次数、平均执行时间、全部执行时间,这些都是性能测试过程中重点观察的指标,十分有价值和意义。
  提示
  Arthas(阿尔萨斯)是阿里开源的Java诊断性能监控分析工具,它不需要用户做任何参数配置,就可以直观地获取各种维度的性能数据。通过阅读官网的介绍可以看到,当我们遇到类似以下问题而束手无策时,Arthas可以帮助我们解决。
  这个类是从哪个jar包加载的?为什么会报各种类相关的异常?
  我改的代码为什么没有运行?难道是我没提及?分支搞错了?
  遇到问题无法在线上调试,难道只能通过加日志再重新发布吗?
  线上遇到某个用户的数据处理有问题,但线上无法调试,线下无法重现?
  是否有全局视角来查看系统的运行状况?
  有什么办法可以监控到JVM的实时运行状态?
  Arthas支持JDK6+,支持Linux/macOS/Windows,采用命令行交互模式,同时提供丰富的Tab自动补全功能,进一步方便开发人员进行问题的定位和诊断。
查看《大话性能测试》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号