zoukankan      html  css  js  c++  java
  • 编写jmeter脚本的原则和正确执行方式

    一、前言

      jmeter是一款开源的java语言编写的性能测试工具,很容易上手。但是,在不同的测试人员来使用情况下,得到的性能测试结果会有很大的不同,下面我们来稍微说明下。

    二、编写jmeter的原则

      1、提取公共部分,做到精简化

        

       说明:上述的脚本包含了多个http请求,每个脚本都有请求host和port,即繁琐也不好维护

      良好的习惯:

      线程组---添加---配置元件---HTTP请求默认值,在此基础上维护host和port

       2、禁用查看结果树

        在我们进行脚本调试的时候,通常会使用查看结果树来验证数据返回的正确性。但是,此组件本身是比较消耗客户端性能的,一般来说,在调试的时候,使用一个查看结果树就可以了,在正式压测的时  候,还要进行对其禁止,不然容易漏掉

       3、简化脚本逻辑

      不要过多的使用if判断和循环等插件,虽然能让我们比较容易的进入测试场景,但这样会增加脚本的复杂性,影响压测客户端的发起效率。需要做的是增加前和增加后,对比性能测试结果,是否可去掉

      4、减少使用不必要的插件

      比如使用 JMeter 去监控服务器资源,这样的监控不仅简单粗糙,而且较大地影响 JMeter 的压力发起的效率。客户端就做客户端的事,服务端的资源监控有更好的更加专业的解决方案

    三、正确执行jmeter的方式

      1、命令行执行脚本

      jmeter工具是跨平台的,在windows、mac和linux环境下都能运行。它提供了两种运行方式,图形化和命令行。图形化方式是在windows或mac上比较常用来方便调试脚本用的。官方并不建议在正式压测上使用此方式,而是建议命令行方式。并且,大多公司的PC是在局域网上的,信息安全部或多或少会对个人办公电脑进行网络带宽限制,所以还是需要找一个不受网络带宽影响的服务器,使用命令行方式运行脚本,排除压测客户端的性能瓶颈带来的TPS上不去的问题。

      jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] 

      -n 表示在非 GUI 模式下运行 JMeter;

      -t 表示要运行的 JMeter 测试脚本文件,一般是 jmx 结尾的文件;

      -l 表示记录结果的文件,默认以 jtl 结尾;

      -e 表示测试完成后生成测试报表;

      -o 表示指定的生成结果文件夹位置

       具体可参考此博客

      2、分布式执行脚本

      根据多年的实践经验得出,单节点的jmeter在实际压测时,设置的并发线程最好不要超过1000,因为线程数越往上,压测的客户端发起效率并不会越好,甚至会降低,所以此时必须要使用jmeter的分布式压测方案

      具体可参考此博客

      3、编写beansehll脚本记录接口的返回数据(特别是报错信息)

      待续...

      4、JMeter+InfluxDB+Grafana方案监控每个接口的实时处理能力

      待续...

      

      

      

    知道、想到、做到、得到
  • 相关阅读:
    Ubuntu里Eclipse关联Jdk
    解决Ubuntu自带编译器不好使问题
    Ubuntu英文变为中文
    两个VirtualBox版本装的语言不一样?
    Hadoop-2.0 目录简介
    Eclipse项目里面看源码和文档
    Eclipse搭建Struts2环境
    2017,崭新的一年!
    cl-closure-template 中文乱码的解决方法
    common-list基础知识--多值的返回与接收
  • 原文地址:https://www.cnblogs.com/Durant0420/p/14305618.html
Copyright © 2011-2022 走看看