乐趣区

关于java:JMeter-做性能测试YYDS

1. 简介

本文由 xmeter 君写给想理解性能测试和 JMeter 的小白,适宜对这两者理解很少的同学们,如果曾经有应用教训的请绕道,别浪费时间:-) 咱们将介绍 JMeter 的应用场景,如何装置、运行 JMeter,以及开始一个最最简略的测试。你还彷徨在 JMeter 的门口吗?别犹豫了,跟着本文做完,你就能够开启你的 JMeter 之旅了。

JMeter 是开源软件 Apache 基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。近来,JMeter 因为其应用简略,当初也被社区作为接口测试工具 …… 啥?什么是性能测试,怎么又来了个接口测试?好吧,xmeter 君举个栗子,你开了一个网店,灰溜溜地筹备双十一大干一把,没想当天流动的时候大量用户一拜访你的网店,你的网店挂了,那怎么办?

方法就是在理论搞流动之前,先测试一下以确认零碎能接受那么多的用户,当然测试的时候咱们不须要请真正的这么多理论用户,否则得花多少钱啊,JMeter 就是那个能帮忙模仿大量用户拜访你网站的一个软件。对,而且它是开源的,不花钱!那个接口测试呢,这里大略理解一下就能够了,就是验证你的网店应用逻辑有没有问题的,比方你做打折流动的时候,结算的时候金额别出错,要不客户找你麻烦不是?

2. JMeter 下载和装置

JMeter 能够在 JMeter 的官方网站下载,下载链接如下图所示,xmeter 君写本文的时候(2016/11)能够下载到的最新的版本是 3.0。

下载后解压到你零碎下的任意目录,咱们称该目录为 %JMETER_HOME%,而后运行 %JMETER_HOME%\bin\jmeter.bat 文件,怎么样,JMeter 进去了吗?嗯!?等等,如同报错了。

认真看一下报错起因,原来是 Java 没装置,因为 JMeter 是用 Java 写的,运行的时候须要 Java …… 不对啊,xmeter 君,我这里如同曾经看到 JMeter 的界面了 — 当然咯,祝贺你,这是因为你之前曾经装置了 Java 了,就跳过下一步吧。

3. 装置 Java

装置之前先下载其安装包,这里是下载地址。关上页面后,按序点击下列所示的链接。

进入下一个页面后,按序点击如下所示开始下载,当然,下载的文件须要跟你的零碎对应,如果是 Linux 请下载相干的 Linux 版本,xmeter 君用的是 Windows 64 位版的 Java。

下载结束之后运行 exe 文件,依照向导提醒装置完 Java。再次运行 %JMETER_HOME%\bin\jmeter.bat,如果都装置对了的话就应该能呈现 JMeter 的运行界面了。

4. JMeter 之初体验

JMeter 装置完了,那咱们来一个简略的试验。性能测试当然得有个测试指标,就是被测系统是什么,xmeter 君这里就以测度娘为例来形容结构一个简略的性能测试过程:xmeter 君保障你在 5 分钟之内实现一次测试体验。

5. 增加虚构用户组

如下图所示,右击“测试计划”> 增加 >Threads(Users)> 线程组。这里 xmeter 君须要解释一下“线程组”的意思:JMeter 是由 Java 实现的,并且应用一个 Java 线程来模仿一个用户,因而线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚构用户(virtual users),这些虚构用户用来模仿拜访被测系统。

接下来 xmeter 君给大家介绍下“线程组”中罕用到的一些设置。

1)线程数:这里就是指虚构用户数,默认的输出是“1”,则表明模仿一个虚构用户拜访被测系统,如果想模仿 100 个用户,则此处输出 100。

2)Ramp-Up Period (in seconds): 虚构用户增长时长。不明确别着急,xmeter 君给你举个栗子:比方你测试的是一个考勤零碎,那么理论用户登录应用考勤零碎的时候并不是大家喊 1、2、3 – 走起,而后一起登录。

理论应用场景可能是 9 点钟下班,那么从 8:30 开始,考勤零碎会陆陆续续有人开始登录,直到 9:10 左右,那么如果齐全依照用户的应用场景,设计该测试的时候此处应输出 40(分钟)* 60(秒)= 2400。然而理论测试个别不会设置如此长的 Ramp-Up 工夫,起因嘛,难道你做一次测试要先等上 40 分钟做登录操作?

个别状况下,能够预计出登录频率最高的工夫长度,比方此处可能从 8:55 到 9:00 登录的人最多,那这里设置成 300 秒,如果“线程数”输出为 100,则意味着在 5 分钟内 100 用户登录结束。

3)循环次数:该处设置一个虚构用户做多少次的测试。默认为 1,意味着一个虚构用户做完一遍事件之后,该虚构用户进行运行。如果选中“永远”,则意味着测试运行起来之后就基本停不下来了,除非你把它强制咔嚓。

6. 增加被测页面

接下来的一步就是要退出理论被测页面,右击“线程组”>“增加”>“Sampler”>“HTTP 申请”。

接下来须要设置一下“HTTP 申请”Sampler 的属性,如下所示:

1)名称:输出“百度”,就是被测试网页的描述性文字

2)服务器名称或 IP:被测服务器的网站名字,也能够是 IP 地址。剩下的属性能够依照被测系统的属性按需配置,当初都能够为空。

当初的测试脚本曾经能够运行了,先点击上面如图所示的第一步:点击保留脚本按钮;而后点击如图所示的第二步:点击运行测试按钮。

等等,xmeter 君,为什么我的测试跑完了没啥反馈?嗯,其实测试曾经跑完了,你能够去“选项”>“Log Viewer”看看运行的日志。如果你还是看不到日志,你能够点击上面所示的三角箭头开展或者收起日志视图。日志视图中能够看到“线程组 1-1”的启动和完结工夫,表明测试曾经跑完。

这 JMeter 运行看着也太不直观了吧?那如果我的测试有问题了,怎么发现啊?别着急,JMeter 提供了“监听器”让用户来察看测试后果。

7. 增加后果监听器

如下图所示,右击“线程组”>“监听器”>“观察后果树”来查看性能测试过程中申请和响应信息。增加结束后,保留测试脚本,再次运行。

运行测试结束之后,点击“观察后果树”>“百度”,点击下图中 3 所示地位,你能够看到一些测试期间一些有用的信息,比方发送的申请的信息和响应数据等。接下来能够试着改一下“线程组”里的“线程数”为 10,就是模仿 10 个用户拜访。别改太大哦,否则小心度娘把你的 IP 地址给封了 :-)

好啦,至此为止,你曾经学会了写一个最简略的 JMeter 的性能测试用例。怎么样,够简略吧!

起源:www.jianshu.com/p/0e4daecc8122

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)

2. 别在再满屏的 if/ else 了,试试策略模式,真香!!

3. 卧槽!Java 中的 xx ≠ null 是什么新语法?

4.Spring Boot 2.5 重磅公布,光明模式太炸了!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

退出移动版