接口压力测试 jmeter--增强篇(二)

这篇具有很好参考价值的文章主要介绍了接口压力测试 jmeter--增强篇(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前期准备

1. JMeter的插件的安装

下载Jmeter Plugins Manager对插件进行管理
(1)下载地址:https://jmeter-plugins.org/install/Install/
(2)下载后,将jar包放到jmeter包目录下/lib/ext目录下
(3)重启Jmeter,点击【选项】,就能看到插件管理器了

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

直接插件下载

JMeterPlugins-Standard.jar和JMeterPlugins-Extras.jar,存放到/apache-jmeter-5.6.2/lib/ext lib/ext文件夹下。

下载链接: https://pan.baidu.com/s/15WnkPl2m9mefzgIO12_INA?pwd=4dkc 提取码: 4dkc

2.ServerAgent安装 

ServerAgent下载

链接: https://pan.baidu.com/s/1HbBC394I83pLRt_bakPc8g?pwd=n1y5 提取码: n1y5

将ServerAgent-2.2.0上传到被测服务器(根目录或任意位置),解压,进入目录,Windows环境,双击startAgent.bat启动;mac、linux环境执行startAgent.sh启动,默认使用4444端口(如果没有执行权限,可先赋予执行权限:chmod 777 startAgent.sh)

注:ServerAgent服务端口号默认为4444,如若遇到端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:

A:关闭占用4444端口的进程,再次启动ServerAgent服务,成功。

查看接口占用情况

lsof -i:4444 //查看4444端口被占用情况

关闭被占用的接口

kill -9 2103 //kill -9 PID

B:使用命令改变ServerAgent服务的默认端口:./startAgent.sh -udp-port 0 -tcp-port xxxx (xxxx为新端口号)

./startAgent.sh -udp-port 0 -tcp-port xxxx
  • startAgent启动

将ServerAgent 文件夹下的startAgent.sh拖到终端中,然后回车

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

3.修改jmeter参数

修改配置文件jmeter.properties、jmeter.bat

路径:/Users/mac/Documents/apache-jmeter-5.6.2/bin

3.1 jmeter.properties修改输出格式、保留响应数据等

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

3.2 修改jmeter内存jmeter.bat 

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

重启Jmeter 

一、JMeter监控使用

添加--监听器

1. TPS 和 RT(响应时间)

TPS(Transactions per Second)和RT(Response Times Over Time)直接增加就可以

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

运行效果:

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

2. (ServerAgent)监控服务器的性能:CPU,内存 

使用PerfMon Metrics Collector

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

PerfMon Metrics Collector使用原理:

1.需要在服务器安装一个ServerAgent,用于收集服务器的性能参数。

然后通过4444端口输出。

2.在PerfMon Metrics Collector组件中通过4444端口去捕获服务器性能参数。

  • 2.2.1 PerfMon Metrics Collector设置

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

  • 2.2.3运行脚本

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

如果有报错,那可能安装插件版本冲突的问题。 

本人是 lib/ext下有两个版本的jmeter-plugins-manager.jar,删除了一个后正常

监控图的作用主要是:

1.看趋势,找性能拐点

2.写性能测试报告

二、实际性能压测的场景设置 

场景:性能测试用例

1.旧系统来自于运维

2.新系统来自于合理预估

按场景和规则预估:做OA,总用户10000个,测试打卡功能做并发,8:30-9:00

一般大部分的公司不超过 200,或者多一点很难超过500。

至于5000以上,1万,十万,百万级别的一定要集群。

服务器(集群)和压力机(集群)

1.单接口基准测试

使用一个用户测试接口5分钟。

目的:为了在没有任何压力的情况下:查看各项性能指标。

单接口基准测试,一般响应时间不超过100ms

2.单接口负载测试场景

通过逐渐的对一个接口进行施压直到出现性能拐点。 获得被测接口的最大处理能力以及它的相关的性能指标。

单接口负载测试,一般不做,只有在怀疑某个接口有问题时,才去监测

3.混合负载压测场景

(不是只有一个场景,有多个)

目的是为了验证整个业务的最大的最优的性能体现。重点在于模型的设计。模型来自于数据(来自生产环境的日志或者产品经理给出的)。

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

Stepping Tread Group: 递增式线程组,共建式线程组

Ultimate Tread Group:Ultimate 一般用来做极限测试,浪涌测试

 压测策略/压测场景/压测用例:

3.1 Stepping Tread Group 逐步加压

 之前的脚本复制到Stepping Tread Group

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter


 this group will start(启动多少个线程):100

First wait for(等待多少秒才开始压测) :一般为0

Then start (一开始有多少个线程数):一般为0


比较重要:下面 3 个一般一起用 )

Next , add :10

threads every :30

using ramp-up :5

每5秒启动10个虚拟用户数,每组数据持续运行30秒


  (也是重要的参数) 

Then hold load for :60

全部加载完成后,负载运行60秒。 

(在企业中,负载测试 10~30 分钟,压力测试 4~24 小时--------4/8/12/24 小时比较常用)


(下面两个一起用)

Finally stop:5

threads every : 1

每一秒停止5个虚拟用户数。

3.2 集合点设置(并发)

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

3.3 运行结果

 接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

超过时间集合释放了

 接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

4. 压力测试场景:

验证系统的极限。直到有任何一个性能指标超出预期。

5. 稳定性测试场景。

在压力测试的场景下持续的运行4-24个小时。 

 三、无界面压测(NON GUI )

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

1.节约系统资源。

2.更快捷,只需要启动命令即可进行压测

3.主要是用于性能压测集成。

-n 表示无界面压测

-t 制定你的jmx脚本

-l 生成jtl测试报告

上面的测试时间较长,修改如下,可以比较快的看到结果:

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

 1. 压测

终端进入脚本.jmx所在位置,输入以下指令:

jmeter -n -t jmeter2024.jmx -l result001.jtl

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter 运行结果:

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

2.生成报告

注意:再次修改jmeter.properties输出格式

jmeter.save.saveservice.output_format=csv

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

参数: 

-e -0 直接生成报告

重新启动DOS窗口,进入路径,输入指令:

jmeter -n -t jmeter2024.jmx -l result001.jtl -e -o reports

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter 接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

jtl报告通过 jmeter的聚合报告导入查看

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

直接查看报告

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

3.集群压测

注意点:JMeter版本和插件的版本要一致

两个参数:用于分布式集群压测

-r:表示启动所有的远程压力机执行压测。

-R:指定特定的远程压力机执行压测。多态用,隔开

运行--远程启动:可以看到远程的服务器 

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

命令:

jmeter -n -t jmeter2024.jmx -l result.jtl -e -o reports -r
jmeter -n -t jmeter2024.jmx -l result.jtl -e -o reports -R 192.168.0.24:1001

4. 查看Linux服务器的性能

市面上 90% 的服务器是Linux服务器 

通过Linux 的 IP地址,账号,密码进行连接

mac连接Linux服务器 

windows连接Linux服务器 

(1)windows先连接Linux服务器

下载并安装一些常用的SSH客户端软件,例如PuTTY或Xshell

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

(2) 输入指令top:

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

效果

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

load average: 平均负载(1分钟,5 分钟,15 分钟)值不能超过 4,要不然就是超负荷运行

Tasks: 进程数

%Cpu(s): id :剩余百分比

KiB Mem: free:剩余内存(free/1024/1024= ? G)5221312/1024/1024= 4.97G

KiB Swap: used :稳定为 0 是最好

(3)指令htop:

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter

接口压力测试 jmeter--增强篇(二),自动化测试,接口自动化,压力测试,jmeter文章来源地址https://www.toymoban.com/news/detail-860421.html

到了这里,关于接口压力测试 jmeter--增强篇(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter接口自动化测试 —— Jmeter下载安装及入门

    Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 下载地址:Apache JMeter - Download Apache JMeter 由于Jmeter是基于Java的程序,所以我们要使用Jmeter就必须先安装Java环境,JDK的安装方法大家自

    2024年02月05日
    浏览(57)
  • Python自动化测试——postman,jmeter接口测试

    关于众所postman,jmeter,做自动化测试的我想对这两个词并不陌生。大家都知道postman用来做接口测试很方便,下面我们就用一些例子来演示一下它该如何进行接口测试: 首先我们来介绍一下接口测试的概念: 1、什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接

    2024年04月27日
    浏览(50)
  • WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试)

    接口测试与数据驱动     数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。       我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的

    2024年01月20日
    浏览(46)
  • WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)​

       Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。   1、安装JDK,配置java环境变量 (略过)    2、安装Jmeter,这里用到的版本是2.12 (安装过程略过)

    2024年01月20日
    浏览(59)
  • 接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

    一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。 Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。 环境依赖 JDK环境配置 Jmeter安装 Ant安装环

    2024年02月13日
    浏览(90)
  • Jmeter接口自动化测试 —— Jmeter断言之Json断言

     json断言可以让我们很快的定位到响应数据中的某一字段,当然前提是响应数据是json格式的,所以如果响应数据为json格式的话,使用json断言还是相当方便的。 还是以之前的接口举例 添加一个Json断言 维护上想要判断的字段 查看结果 ​ 我们将期望的值故意改成错的545111看看

    2024年02月05日
    浏览(62)
  • 接口测试 [分享] 自动化测试与持续集成方案--Jmeter 测试接口及性能

    目录 前言: 一、什么是接口测试? 二、接口测试的流程 三、编写接口测试脚本 四、接口持续集成 补上性能测试报告:  接口测试是软件测试中的重要环节,它用于验证系统的不同组件之间的通信和数据传输是否正常。自动化测试和持续集成方案可以帮助测试团队更高效地

    2024年02月15日
    浏览(47)
  • 功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试,具体是干嘛的?

    软件测试是一个广义的概念,他包括了多领域的测试内容,比如,很多新手可能都听说:功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试等,这些专业名词,但是绝大多数人都对这些名词一知半解,所以,今天我们就来给大家做个逐一的解释:

    2024年02月03日
    浏览(62)
  • Jmeter接口自动化生成测试报告html格式

    jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 一、ant下载安装 1.1、下载地址: http://ant.apache.org/bi

    2024年02月16日
    浏览(52)
  • jmeter生成html格式接口自动化测试报告

    jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 1.1、下载地址: http://ant.apache.org/bindownload.cgi 1.2、版本

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包