• 性能测试学习第十天-----性能案例分析之CPU消耗过高&响应时间较长


    一、现象  /pinter/case/cpu?type=1   使用google的gjson.tojson性能较差    type=2 使用性能好的阿里巴巴的fastjson库
      压测过程中,发现应用服务器的CPU使用率比较高(>80%):
      两种情况:
      1、接口的性能非常好,比如响应时间<10ms,tps很高,此时CPU使用率高是正常的,不需要优化
      2、接口性能不好,比如响应时间>200ms,tps很低,此时需要考虑优化

    二、CPU消耗高可能的原因
      1、使用了复杂的算法,比如加密、解密
      2、压缩、解压、序列化等操作
      3、代码bug,比如死循环

    三、定位方法
      在windows上(本机)和服务器上(Linux),分别安装对应版本的jprofiler
      Windows:双击-下一步(略)
      Linux:
        1、上传安装包,执行命令rpm -ivh jprofiler_linux_9_1_1.rpm
        2、tomcat/bin/catalina.sh文件配置jvm参数的地方添加  -agentpath:/opt/jprofiler11/bin/linux-x86/libjprofilerti.so=port=8849,nowait    64位系统需将linux-x86换成x64

                 

          jprofiler使用需关闭防火墙,因此,只适合在测试环境使用。

    使用jprofiler定位响应时间长的问题    /pinter/case/time?id=1 

      定位方法:使用jprofiler的方法耗时统计功能,可以统计出每个方法的耗时
      1、点击“CPU views”- “Method Statistics”
      2、点击监控按钮,开始监控进程的方法耗时
      3、等待30s(自己掌握,时间太短分析样本太少),点击停止监控按钮
      4、查看表格中的各方法耗时和调用次数

           

  • 相关阅读:
    WCF 4.0中的动态发现服务WSDiscovery
    Windows Server 2008 R2 Server Core
    Open Source Web Design
    Windows Identity Foundation(WIF)正式发布
    是开始学习IronPython 的时候了
    IronPython 承载和消费WCF服务
    微博客程序 Yonkly
    如何启用匿名访问SQL Server Reporting Service 2008
    ASP.NET MVC 2 RC 发布
    SharePoint 2010 VHD下载
  • 原文地址:https://www.cnblogs.com/qingyuu/p/11603790.html
Copyright © 2020-2023  润新知