01 - Jmeter4.x环境安装以及简单使用
Jmeter 介绍
Apache JMeter应用程序是开源软件,旨在为负载测试功能行为和测量性能的100%纯Java应用程序。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能
常用压力测试工具对比
- LoadRunner:性能稳定,压测结果及细度大,可以自定义脚本进行压测,过于重大,功能比较繁多;
- Apache ab :模拟多线程并发请求,ab命令对发布负载的计算机要求很低,即不会占用过多cpu,也不会占用过多的内存,但却会给目标服务器造成巨大的负载,简单的DDOS攻击等;
- webbench:webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父 进程做最终的统计结果。
Jmeter 基本使用场景介绍
| 压测不同的协议和应用 | 使用场景及优点 |
|---|---|
| Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) | 功能测试 |
| SOAP / REST Webservices | 压力测试 |
| FTP | 分布式压力测试 |
| Database via JDBC | 纯java应用 |
| LDAP 轻量目录访问协议 | 上手容易,高性能 |
| Message-oriented middleware (MOM) via JMS | 提供测试数据分析 |
| Mail - SMTP(S), POP3(S) and IMAP(S) | 各种报表数据图形展示 |
| TCP等等 |
Jmeter本地快速安装
安装jdk
因为Jmeter是纯java应用,so其运行环境是需要jdk的,至于jdk下载方式,自行查询;https://blog.csdn.net/qq_36819281/article/details/83658585
安装Jmeter
GUI图形界面的安装
windows: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.zip
mac/linux: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz
Jmeter 目录文件介绍
bin 核心可执行文件,包含配置
jmeter.bat windows 可执行文件
jmeter mac/linux启动文件
jmeter-server mac/linux分布式压测使用的启动文件
jmeter-server.bat windows分布式压测使用的启动文件
jmeter-properties 核心配置文件
extras 插件拓展的包
lib 核心的依赖包
ext 核心包
junit 单元测试包
Jmeter GUI语言切换
- GUI修改:menu -> options -> choose language
- 配置文件修改:bin目录下 -> jmeter.properties,找到默认
#language=en修改为language=zh_CN
Jmeter基础功能组件介绍 Thread Group 和 Sampler(采样器)
下面先放一张图(windows)

- 右键"测试计划" --> add --> thread group(控制总体并发)
Number of Threads(users): 虚拟用户数,一个虚拟用户占用一个线程或者进程
Ramp-Up Period(in seconds):全部线程执行时长
Loop Count:循环次数
Forever:是否永远执行 - 右键"Thread Group" --> add --> Sampler -->HTTP Request(一个线程组下可以增加很多Sampler)
Name:请求名称
Comments:说明
WebServer:web服务器工作区
Protocol:协议,不填默认是Http
ServerName or IP:服务器地址或者ip
Port Number:端口号
Method:请求方式
Path:资源路径
Content encoding:内容编码 - 右键"HTTP Request(查看当前请求结果)/Thread Group(全局)" --> add --> Listener(监听器) --> View Results Tree(查看结果树)
Jmeter post请求示例
以登录接口为例

在BodyData中添加请求json数据;点击导航栏第一个右置三角标识;

此处可以看到,接口返回了错误信息,原因就是HTTP Header Manager(HTTP信息头管理器)没有约定数据传输方式,此时咱们修改一下里面的值为 Content-Type application/json 再次执行

此时就可以看出已经得到了服务器的正常响应

Jmeter 用户变量设置(拓展)
如果咱们在做项目时,一个项目下添加了若干个HTTP Request,还是需要挨个配置域名,那就会略显麻烦了,在Jmeter中还有一个方法可以简化我们的操作;

进入测试计划,点击add 在 User Defined Variables 中可以设置一个全局变量;方便我们后面使用!!!
调用此变量时格式为 ${host}
01 - Jmeter4.x环境安装以及简单使用的更多相关文章
- Django学习笔记(一):环境安装与简单实例
Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...
- Python之路-python环境安装和简单的语法使用
一.环境安装 Win10(安装python3.x): 1.下载安装包 https://www.python.org/downloads/ 2.安装完成后设置环境变量. 桌面-“计算机”-右 ...
- hadoop环境安装及简单Map-Reduce示例
说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...
- 01,jupyter环境安装
jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文 ...
- Spark——Standalone 环境安装及简单使用
Standalone 环境安装 将 spark-3.0.0-bin-hadoop3.2.tgz 文件解压缩在指定位置(/opt/module) tar -zxvf spark-3.0.0-bin-ha ...
- kafka环境安装及简单使用(单机版)
一个分布式发布-订阅消息传递系统 特点: 高吞吐量.低延迟 使用场景(举例): 日志收集:用kafka收集各种服务产生的log,通过kafka以统一的接口服务的方式开放给各种consumer,如had ...
- linux下expect环境安装以及简单脚本测试
expect是交互性很强的脚本语言,可以帮助运维人员实现批量管理成千上百台服务器操作,是一款很实用的批量部署工具!expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装 下 ...
- RF环境安装-mac-osx10.10-基础环境-安装指南
一.适用环境: mac系列,osx10.10,自带Python 二.简要步骤: 1. 安装pip,mac自带Python环境,所以我们改成安装pip 2. 安装wxPython,此处我下载的版本是wx ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
随机推荐
- 微信小程序request(ajax)接口请求封装
微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...
- java 类加载及实例化的调用顺序
1.没有继承的情况 单独一个类的场景下,初始化顺序为依次为 静态变量和静态代码块(看两者的书写顺序),继承的基类的构造函数,成员变量,被调用的构造函数. 代码呈现: public class Test ...
- powerdesigner数据库设计
(1)创建物理数据模型 打开PowerDesigner,然后点击File-->New Model然后选择如下图所示的物理数据模型(物理数据模型的名字自己起,然后选择自己所使用的数据库即可) ( ...
- CentOS7安装mysql8.0编译报错集合
以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...
- Wireshark中的结果分析
Header checksum: 0x9899 [validation disabled] 因为,wireshark不自动做tcp校验和的检验.原因是因为:有时tcp校验和会由网卡计算,因此wires ...
- TCP: time wait bucket table overflow
.TCP: time wait bucket table overflow tcp的连接数超出了服务器设置的连接数 1 2 3 4 5 6 [root@test log]# netstat -antp ...
- js reduce用法
let books = [ 0, {bookName:"python",price:10,count:1}, {bookName:"Ruby",count:2, ...
- JVM内存结构从永久代到元空间
在文章<JVM之内存结构详解>中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化.作为面试官如果你还不知道,那么面试过程中是不是有些露怯? ...
- Test 6.23 T1 扫雷
题目背景 题目描述 输入格式 输出格式 样例输入输出 数据范围 解析 我们设两个作弊器的参数分别为\((a_1,b_1)\)和\((a_2,b_2)\),那么设 \[ S1=\frac{a_1}{b_ ...
- python学习笔记(十九)面向对象编程,类
一.面向对象编程 面向对象,是一种程序设计思想. 编程范式:编程范式就是你按照什么方式去编程,去实现一个功能.不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,两种最重要的编程范式分 ...