[jmeter]快速入门
前言
以压测一个api为例。假设有一个非常简单的api http://192.168.1.111:8080/,只是返回 helloworld 字符串。
准备
- 打开 jmeter,新建测试计划
- 在测试计划上右键 -> 线程 -> 线程组。还是在测试计划上右键 -> 监听器,添加查看结果树、汇总报告、聚合报告。
- 在线程组上右键添加取样器 - HTTP请求,填写服务器地址、端口号和url

- 点击测试计划,再点击菜单栏的保存,然后执行测试
- 执行完成后,点击查看结果树,即可查看到api响应结果。
- 以上为单元测试,查看api结果是否正确。接下来执行一个100并发的压测。
- 先在查看结果树、汇总报告和聚合报告上右键点击清除
- 点击线程组,配置并发数和压测时间

- 保存测试计划,点击运行。运行完成后,一般关注聚合报告和汇总报告中的平均值、中位值、异常率和吞吐量,如果安装了插件,一般还要关注TPS指标。
- 聚合报告示例

- TPS示例

web框架压测
顺带压测了几个web框架,分别是python的fastapi、sanic,以及go的gin、hertz。服务端和jemeter用的都是一台电脑,jemeter的压测数都为1000,四个框架都只是返回一个helloworld字符串,控制台日志也都关闭。fastapi和sanic的worker数量都设置为CPU核数。
- python之fastapi的压测结果。fastapi是我个人比较喜欢的一个python web框架,尤其喜欢自带的swagger文档,调试起来非常方便。压测的吞吐率四舍五入一下是1w,正好做一个基准。

- python之sanic的压测结果。sanic的设计比较像flask,性能比fastapi稍好些,大概是fastapi的3倍左右。

- go之gin的压测结果。gin算是go web开发比较入门级的框架了,性能大概是fastapi的5.8倍。

- go之hertz的压测结果。hertz是字节跳动开源的一个go web框架,性能比gin框架稍高,大概是fastapi的6.3倍,但个人更喜欢gin,gin的编码看起来比hertz稍微简洁一些。

[jmeter]快速入门的更多相关文章
- Jmeter 快速入门教程(三-3) -- 使用参数化
参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进 ...
- Jmeter 快速入门教程(三-1) --添加响应断言(即loadrunner中所指的检查点)
[版权所有: whoistester.com & jmeter.cf] 上一节课,我们创建了一个测试场景,并进行了少量vuser的负载测试. 有时候我们执行了测试,但是发现并不是所有事务都执行 ...
- Jmeter 快速入门教程(二)--创建简单web测试
[版权所有: whoistester.com & jmeter.cf] http://wenku.baidu.com/linkurl=9zc4VHe6vUUeMdDZPpNsRehkazZFw ...
- JMeter快速入门
今天的年会已过,仍然是空手而归,不过俺坚信能让生活稳定永远都是努力.由于隔壁组负责年会的抢红包项目,因而趁此机会把通过工具模拟高并发的知识补了补,通过和身边大师的交流,总算是对压力测试有了个简要的了解 ...
- JMeter快速入门之Badboy录制
1. 前言 JMeter录制有两种方式,一种是JMeter自带录制方法,另一种是下面要学习的Badboy录制,个人推荐使用此方法 下面教程不设计Badboy安装,可以百度一下. 2. 录制步骤: 2. ...
- Jmeter 快速入门--简单的http压测
1.添加线程组 打开jmeter主窗口后,选择左侧树形结构里的"测试计划",然后右键选择添加,选择"threads(users)",选择"线程组&qu ...
- 1.Jmeter 快速入门教程(一) - 认识jmeter和google插件
Jmeter是免费开源的性能测试工具( 同时也可以用作功能测试,http协议debug工具 ). 在如今越来越注重知识产权的今天, 公司越来越不愿意冒着巨大的风险去使用盗版的商业性能测试工具. 但如 ...
- 2.Jmeter 快速入门教程(二)--创建简单web测试 打印 E-mail
今天我们就来实际用Jmeter创建一个测试场景,并进行性能测试. 注:由于本人使用中文版本,使用英文版本的请注意具体的菜单及参数名称. 1. 添加线程组(相当于lr里的scenario 设置) 打开j ...
- 7.Jmeter 快速入门教程--录制复杂web测试脚本
Jmeter的功能简单,不需要有脚本语言的编写经验,纯图形界面添加测试场景, 用起来上手很快.但是如果手动添加每一个web(http/https)请求,费时又费力.而且有可能最后手动编写的和实际发的请 ...
- 8.Jmeter 快速入门教程 -- 如何使测试脚本更强大
添加基本的elements例如Sampler 或者一些监听器,就可以完成基本的测试.但有时需要更复杂的测试场景,所以还有更多其他的元素.清看下表,了解各种单元组的用途. 可添加的单元组 用途 Sa ...
随机推荐
- .Net开发的音频分离桌面应用,可用于提取背景音乐
背景音乐对于视频来说是非常重要的,制作视频的人来说,听到一些符合自己视频的背景音乐,又找不到背景音乐的源音乐,这时候就需要有软件帮助提取背景音乐了. 项目简介 这是基于C#开发的UI界面,支持中文等多 ...
- 2.OS-Virtualization|抽象:进程
进程:运行中的程序. 没有运行前,就是一个代码,他是静态的. 通过一系列抽象,有了状态. 通过进程抽象,我们需要明白计算机设计的一些思考点:如何分离?如何管理?如何抽象? 运行 就绪 阻塞 它就是一个 ...
- ESLint: More than 1 blank line not allowed. (no-multiple-empty-lines)
ESLint: More than 1 blank line not allowed. (no-multiple-empty-lines)
- Can't uninstall 'Pillow'. No files were found to uninstall.
Can't uninstall 'Pillow'. No files were found to uninstall. Pillow卸载不掉的解决办法 1.进入python所在路径,进入scripts ...
- sqlmap的一些简单使用命令
路径 C:\Users\Administrator\AppData\Local\Programs\Python\Python39\sqlmap post型注入 *每次使用都要重新抓包,不可以使用旧的数 ...
- MySQL-DQL
准备测试表,先跟着执行下面的SQL #1.登录MySQL后 #2.创建test_database数据库,不存在则创建 create database if not exists test_databa ...
- Hackathon 代码黑客马拉松采访复盘
AIGC Hackathon 2023 北京站 我参加了选手采访提纲,这里我感觉有些点可以分享给大家.之前复盘的链接: 下面是采访我的回答内容: 1. 请向大家简单介绍一下自己吧? 子木,社区名称为程 ...
- NSDI-2023 微软论文:解构有状态网络功能
本文通过chatgpt代理站(支持gpt4):gptschools.cn翻译整理 微软Azure对每个虚拟机进行了为期三个月的网络监控,获得了新建.并发.PPS等指标情况,发现: 1) 网络功能负载不 ...
- Java 网络编程 —— RMI 框架
概述 RMI 是 Java 提供的一个完善的简单易用的远程方法调用框架,采用客户/服务器通信方式,在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法,它要求客户端与服务器端都 ...
- 【whale-starry-stl】01天 list学习笔记
一.知识点 1. std::bidirectional_iterator_tag std::bidirectional_iterator_tag 是 C++ 标准库中定义的一个迭代器类型标签,用于标识 ...