起因

测试美眉对性能压测很感兴趣,说想试试jmeter,问有没有保姆级的jemter教程。我思考了一下决定亲手写一个。

什么是jmeter

jmeter是一款压力测试工具。

ok,那我们先搞清楚什么压力测试?

打个比方,有个网站:www.xiaoxiaoguo.cn,我想知道这个网站能不能同时承受10个人访问的话,要怎么做呢?最简单的办法就是找10个人,喊3,2,1,然后这个10个人同时操作电脑打开网站。找10个人应该不是很难,但假如要测试100个人,1万个人呢?这个方法就不行了。

在实际的测试工作中,我们也不会采用这种人工的方式来测试网站的承受能力,而是通过软件来完成,jmeter就是这样一款帮你模拟1万个人同时访问的软件。

jmeter安装

jmeter是开源的,不收费。官网是https://jmeter.apache.org/,认准这个网址,不要跑错地方了。

确保安装了java

首先确定电脑上安装了java,打开终端,输入命令:

java -version

如果有类似如下的提示,就表示安装了:

java version "13.0.2" 2020-01-14
Java(TM) SE Runtime Environment (build 13.0.2+8)
Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

如果提示命令未找到command not found,或者版本低于8,则可以参考这个文章安装一下

https://blog.csdn.net/u012934325/article/details/73441617

安装jmeter

打开官网 https://jmeter.apache.org/ ,点击左侧的 Download Releases

选择下载Source,下载apache-jmeter-5.4_src.zip

下载完成后,解压,双击bin目录下的jmeter图标,就能打开使用了。

jmeter界面介绍

打开jmeter,界面长这样:

看到这么多按钮,不要慌,我们慢慢来。

上面的按钮就是脚本保存,剪切复制等。用的多的是开始结束按钮(绿色箭头那个),清除测试结果按钮(齿轮扫把那个)。重新测试时,我们要清除之前的测试结果,确保新的测试结果是独立的。

左侧的“测试计划”这个名称可以随便修改,当有多个测试计划时,名称能区分出来即可。
这里我把它改为测试示例,点击保存按钮,如果是第一次保存,会弹一个窗口,让你选择一个目录用于存放这个测试脚本。

选择好对应的目录,点击保存即可。

jmeter使用

接下来就进入正题,让我们开始使用jmeter吧。
右击左侧的测试示例,点击添加,选择 线程-线程组

这里就相当于就是添加了一个用户群。这个线程组的名称也可以随便改,这里我把它改为一百个人,把线程数改为100,相当于找到了100个人。

100个人找到了,接下来我们就要给这些人安排活了。
右击一百个人,点击添加 - 取样器 - HTTP请求

添加后,就能看到干活的界面了

给这100个人安排什么活呢?让他们同时访问这个地址吧:
https://img-home.csdnimg.cn/data_json/toolbar/toolbar1217.json

名称改为访问网站,我们测试的是https接口,协议就填https,域名填img-home.csdnimg.cn,端口写443,方法写GET,路径写data_json/toolbar/toolbar1217.json,填好后点保存即可。

之后点击绿色箭头就开始压测了。

可以看到右上角有个100,这就是我们安排的100个人了,当左侧数字变为0时,就表示这100个人都干完了。

但我们不好检查这100次的访问结果,所以接下来我们要请一个监工,把结果记录来,方便我们分析查验。

右击访问网站,选择添加 - 监听器 - 察看结果树

此时在左侧会看到一个结果树。

再次点击运行,就可以在结果树中看到每次的请求结果

这个100个结果如果一个个去看,看的眼都花了。如果是1万个人的话,那不是要上天了。所以我们再请一个统计的人来,让他帮我们统计。

右击访问网站,选择监听器 - 汇总报告

再点击运行,执行完成后,点击汇总报告就能看到汇总的数据了:

通过这些值,我们就能对网站或接口的性能做出评估。

后续

通过前面的步骤,我们就会使用jemter来测试网站或接口了。

接下来如果有兴趣,可以进一步去试试这些:

接口自动传参
接口联动(将上一个接口的结果返回给下一个接口)
使用jmeter命令行测试,而不是jmeter界面
分布式测试(配置多台jemter,模拟几万人同时访问,爽歪歪)
``![](https://img-blog.csdnimg.cn/20201210165808753.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTIzNzU5MjQ=,size_16,color_FFFFFF,t_70#pic_center#pic_center#pic_center)

极简jmeter使用教程相关推荐

  1. 数值分析笔记(考试极简版附教程视频链接)

    所用教材为金一庆-数值方法(第2版) 此笔记仅作为本科生通过考试用,可能存在诸多错误 可能部分公式语法CSDN并不支持.图床会被干掉,在此提供原文件及教材电子书链接: https://pan.baid ...

  2. riopoly matlab,rio极简数据导入教程

    rio 包的目的是使得数据导入尽可能的简单化. import() 函数提供了一个非常舒服的可以自动导入数据集的体验,它可以根据数据集的特征自动选择import或者read的函数,并且也支持指定格式的导 ...

  3. [QMT]07-迅投极简版调用教程

    26行中的证券账户改成你的账户编码 17行改成你本机userdata_mini目录所在的路径 41行是股票代码 45行是股票价格 仅供学习参考,据博文内容进行买卖操作以及程序bug造成损失,盈亏自负, ...

  4. 如何租用云GPU跑深度学习?AutoDL、恒源云极简高效使用教程

    文章目录 平台推荐 恒源云 优点: 缺点: 官网 注册链接: AutoDL 优点: 缺点: 官网 注册链接: 使用流程 恒源云 注册登录充值 数据上传 租用实例并下载数据至实例 自行配置实验所需环境后 ...

  5. 极简的docker教程-在docker上运行微服务

    文章目录 用一个简单的demo了解docker构建自定义镜像 首先用docker拉一个nginx 编写一个Dockerfile 构建 查看自己构建的镜像是否成功了 运行 测试 了解一下Dockerfi ...

  6. 写一个操作系统有多难?自制 os 极简教程

    不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了满足程序员们自带的成就感,还是为 ...

  7. 《Kotlin极简教程》第三章 Kotlin基本数据类型

    正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...

  8. 负载分析及问题排查极简教程

    作者 | Hollis ,来自 | Hollis 平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load.cpu.mem.qps.rt等.每个指标都有其独特的意义,很多时候在线上出现问题时 ...

  9. 高效sql性能优化极简教程

    一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...

  10. session一致性架构设计极简教程

    一,缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文. Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建se ...

最新文章

  1. 开源 | 基于会话的最优推荐模型:SR-GNN的PaddlePaddle实现
  2. 推荐10个很棒的AngularJS学习指南
  3. Matlab-贪心/贪婪算法
  4. 深入全面探究有未经处理的异常: 0xC00000FD: Stack overflow(栈溢出)问题!
  5. 创建自定义Widgets小部件扩展
  6. android开源2016_Google 2016年开源版本浏览
  7. hibernate mysql 读写分离_SpringBoot集成Spring Data JPA及读写分离
  8. vs2012 编译cocos2d-x项目报error MSB3073
  9. Java 相同类型强制转换异常
  10. matlab当前目录下的相对路径
  11. python爬取岗位数据并分析_Python年薪最高有50w|探秘全国近1600个Python岗位数据分析...
  12. atitit.项目设计模式---ioc attilax总结v4 q11
  13. StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13...
  14. ubuntu c/c++ 生成.so 并被python调用
  15. WORD打开很慢的解决办法[整理]
  16. 软件测试零基础入门好学吗?
  17. 虚拟存储器:页面置换算法
  18. 正确的洗澡顺序,据说99%的人都是错的。。
  19. vue项目实录:下拉刷新组件的开发及slot的使用
  20. Power Pivot选项卡不显示

热门文章

  1. html静态页面作业 我的家乡网站设计——我的家乡-杭州(7页) HTML+CSS+JavaScript 大学生家乡网页作品 老家网页设计作业模板 学生网页制作源代码下载
  2. 163邮箱服务器连接错误 请重试,163邮箱无法连接服务器
  3. windows美化指南秒变mac风格
  4. java环境变量设置图解_Java环境变量一键配置操作方法
  5. 产品读书《产品经理的第二本书》
  6. 【剑指offer】Python、java,C++三种语言同时实现
  7. 瑞萨RH850F1x单片机开发板完整开发环境搭建介绍
  8. Vue+Vant的组件自定义使用阿里图标库图标
  9. xposed框架_无需Root使用Xposed框架、功能非常强大
  10. High Score