美文网首页软件测试软件测试测试员的那点事
《基于Jmeter的性能测试框架搭建》改进二

《基于Jmeter的性能测试框架搭建》改进二

作者: Tomandy | 来源:发表于2018-08-02 18:34 被阅读15次

    最近在进行新项目的压测,把《基于Jmeter的性能测试框架搭建》提到的框架又做了一些改进,主要是针对Grafana的配置。展开话题前先上一张性能监控图。

    性能监控图
    那么上图展现的数据是否准确呢?我们可以通过以下方式进行验证。
    • 查看jenkins的构建日志,如下图所示。可发现tps、响应时间、请求总数、失败请求数等与grafana展现一致。


      jenkins构建日志
    • 使用top,vmstat等命令查看cpu损耗,与Grafana展现一致。
      ps:下图仅用于top命令示范,与上面的性能监控图数据无直接关联。


      CPU_top

      在展开Grafana配置详述前,需先弄清楚以下metrics的含义,以便后续配置Grafana面板。


      metrics
      metrics
      metrics
      接着就可以进行面板配置了,各指标配置如下。
    • tps


      tps
    • 总的请求数(成功+失败请求)


      TotalRequests
    • 失败请求数


      FaileRequests
    • VU


      VU
    • 成功请求的响应时间(avg,pct99,pct95,pct90)


      成功请求的RespondTime
    • cpu,由于监控服务器为4核,所以加了获取条件where cpu = cpu-total.
      下图监控了用户cpu和系统cpu,对应top命令展现的us和sy,sy如果值太高,说明系统调用,例如IO操作频繁。其他参数可自行百度。


      CPU
    • 如果有需要,也可以对io,内存等进行监控。


      其他

    由于Influxdb是一个时序数据库,Grafana也是按时序来展现性能结果,所以需留意Time range的配置,否则可能造成数据误差。比如Time range设置为2018-08-03 15:30:00 To 16:00:00,那么Grafana就会展现15:30到16:00:00的数据,如果15:30:00开始构建接口1,15:40接口1构建完成,15:41开始接口2构建,15:50接口2构建完成,那么此时Grafana面板展现的tps,响应时间,Total,failed等数据是【接口1+接口2】的综合取值。


    TimeRange

    讲完Grafana,咱们再回归压测脚本,之前文章也提过,Jmeter编写压测脚本异常简单,执行脚本后,自动生成上述的metrics,如下所示。
    ps:新版本jmeter的Backend Listener亦支持influxdb,有兴趣的童鞋可以尝试。


    压测脚本
    不得不说,Grafana和Jmeter真的是天作之合。

    相关文章

      网友评论

      • 6a881fe57206:你好,有没有微信或者qq,我也在研究这个,遇到点问题
        Tomandy:@伏笔_2375 微信号tomandy_andytom,欢迎交流😄

      本文标题:《基于Jmeter的性能测试框架搭建》改进二

      本文链接:https://www.haomeiwen.com/subject/xunrvftx.html