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

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

性能监控图

那么上图展现的数据是否准确呢?我们可以通过以下方式进行验证。

  • 查看jenkins的构建日志,如下图所示。可发现tps、响应时间、请求总数、失败请求数等与grafana展现一致。


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

    在展开Grafana配置详述前,需先弄清楚以下metrics的含义(也可访问Jmeter官网),以便后续配置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真的是天作之合。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容