jmeter 高并发测试报告_压测工具jmeter

0c8c92ba004e73e7e2a2cbf0c199f44a.png

写在前面:

最近,在忙于做React SSR的项目,在部署node服务器的时候,为了保证服务器能在大流量压力下正常运转,通常 需要对服务器进行 压力测试。本文将基于jmeter测试工具,讲述下压力常用的压力测试方法,以及操作步骤。

工具使用比较简单,所以如果认真按照本文说明,很方便上手。

注意:本文基于Mac进行测试

6c1770a7155caabeb221914fe0b40eaf.png

一、准备工作

1.1 安装JDK8 以上版本

因为,jmeter进行并发测试,是基于java 同时 启动多个线程请求我们服务器的方式,所以在安装工具之前,需要先安装JDK。

JMeter的最新版本是5.0,JMeter 5.0需要Java 8、Java 9。

JDK - 下载地址,历史版本下载地址

8c66361235ecc1cdcd8f03e1cdb73d7c.png

根据自己的系统选择相关的版本,下载并安装,一路 继续 就行,安装之后,

7b09db16a27983b79b3b0eff2d650348.png

一定要记得设置一下 环境变量,否则在命令行运行java的会找不到。

我相信上面的步骤,你一定能搞定,打开控制台,输入:

java -version

显示如下,表示设置成功。

ab8e785b3c82ab697357e3b0aa3a86d5.png

1.2 安装 jmeter5 版本

Jmeter - 下载地址,历史版本下载地址

b8b33fa1d282f1445cfae01f95b9bd8f.png

这里选择Binaries资源中的任意一个就行,下载之后,是一个压缩包(tgz或者zip),然后解压缩,可以用命令行解压,也可以用解压工具解压。解压出来的程序,就是jmeter的运行所有的程序。

4ca07f369e98f030ec5eff05bcae202d.png

1.3 启动jmeter的GUI客户端

进入jmeter的解压路径,下的/bin下面,(bin下面都是程序的可执行脚本存放的位置),然后执行:

sh jmeter

43e4866eb5bd77262c2e446a3e31624c.png

看到这一些输出之后,随后会启动一个jmeter的GUI界面,如下,

4e222cd7599b9010bf2fed3e5a26cefa.png

表示jmeter已经成功安装,并成功运行了。

1.4 将操作语言设置为Chinese,如果是英语学霸,可以略过

0e81f56b2ad8fd19ebf6154023341836.png

设置完之后,可以开始下面的压测之旅了。

二、参数设置

正式开始压测之前,想跟大家提前说下,压力测试体现出来的QPS的值,和你机器的性能有关,因为我们用自己的mac压测的时候,发现测试服务器的QPS的值最大是100。

所以,如果你想测试服务器QPS 是否能 高于100 的时候,最好用服务器装上jmeter压。

2.1 添加压测http请求的配置

操作:添加 - 配置元件 - HTTP请求默认值

9064388e6050f25d7d4757b7b2f55747.png

这里添加一个,http的默认配置控制器,用于配置,本次压测的目标服务器路径和属性。

1cca54722859f6383411409ba018e3f0.png

2.2 添加一个线程组

操作:添加 - 线程(用户)- 线程组

5dae36990dc50465998577fe6586389d.png

线程组,就是表示,设置你要同时,用java启动 多少个线程,用 怎样的延时,用 怎样的循环方式,进行请求,用于测试服务器。比如下面的配置:

39d0fedb6137c328162a092af0e2afdf.png
Ramp-up:决定多长时间启动所有线程。如果使用10个线程,ramp-up period是100秒,那么JMeter用100秒使所有10个线程启动并运行。每个线程会在上一个线程启动后10秒(100/10)启动。Ramp-up需要要充足长以避免在启动测试时有一个太大的工作负载,并且要充足小以至于最后一个线程在第一个完成前启动。

上面的配置表示,本次测试,我们要在1s内启动 30个线程,然后无限循环的去请求服务器,进行压力测试。

2.3 添加聚合报告,统计聚合

操作:添加 - 监听器 - 聚合报告 (注意这里,一定要在 线程组 上面添加)

聚合报告会对所有压力测试,进行综合统计,给出一些平均指标

cc271f14951d423acd4e19edc688c7c3.png

这里的值,在下面测试开始,给大家详细说一下,这里添加上即可。

b7d7311a1387c0d082c4135ec6046539.png

2.4 添加查看请求结果的树

操作 :添加 - 监听器 - 察看结果树(注意这里,一定要在 线程组 上面添加)

95939fa707f30eca4f43d449058c6f02.png

结果树会统计每一次压测请求的详细过程,包括请求、响应的详细内容。

ab157bf3a69aa5def819d41c787a7a81.png

2.5 添加http请求取样器

操作:添加 - 取样器 - HTTP请求 (注意这里,一定要在 线程组 上面添加)

1ef4177facab7ecc35ee988b236deb5b.png

HTTP取样器,帮组我们设置,本次压测进行的各种请求类型,包括get、post等等常用的http的request的types。

470d5f3e3e674d1b8a33380d12889691.png

三、进行压力测试

测试目标:GET https://www.biadu.com/index.html 这个路径,配置各项如下:

3.1 配置http默认属性如下:

d2a5dcd855f46317ea856a0f99c0c353.png

协议:https

域名:www.baidu.com

端口:443 (默认)

3.2 配置http请求取样器:

5f76d69280036165765333e016e1770e.png

方法:GET

路径:/index.html

3.3 点击开始测试

查看聚合报告,查看整体的测试报告

909cdb8f5841a88aa99138c76dabd415.png

查看 察看结果树,查看每一次请求的结果

5ca090ef738b6e41ad4cb35c8bc44f2d.png

四、测试总结

以上就是一次压力测试的基本的配置 和 操作步骤。按照上面的步骤,相信你也能很快的掌握压力测试的基本操作和部分原理。

也希望本篇教程能帮组你。

当然,如果本文有什么表述欠佳,或者表述不准的地方,请不吝指出。感谢 。

b4ff3b9cebb8d1a18a522485266be725.png

相关链接:

柳丁Jason Chen:React SSR 上车指南 (一)​zhuanlan.zhihu.com
bda0843463062800d38823d0773c4547.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值