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}

最新文章

  1. 6Hibernate进阶----青软S2SH(笔记)
  2. webfrrm基础
  3. 关于MySql 关键字与字段名冲突 的问题
  4. CSS 设置TABLE 表格 边框
  5. 【BZOJ】【3831】【POI2014】Little Bird
  6. linux前景到底怎么样啊?
  7. css文本样式
  8. 【Jsp/Servlet】获取客户端使用的ip
  9. Java学习——类与对象
  10. zookeeper的ACL权限控制
  11. win10忘记开机密码无法进入桌面
  12. 【BZOJ3879】SvT(后缀自动机,虚树)
  13. (转)mysql百万级以上查询优化
  14. 《linux内核设计与实现》第二章
  15. 安装redis出现的问题
  16. SpringCloud-容错处理Hystrix熔断器(五)
  17. 对网络助手的NABCD分析心得
  18. Android组件化框架项目详解
  19. Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008
  20. RabbitMQ基础教程之Spring&JavaConfig使用篇

热门文章

  1. 将地址转成blob格式(服务器下运行)
  2. js中数组遍历常用的方法
  3. 一、ARM
  4. js 鼠标效果
  5. 触发redo写的几个条件
  6. git & gerrit & shell
  7. Rabbit给单独的消息设置超时
  8. 使用linkedlist封装简单的先进先出队列
  9. 玩转MaxCompute studio SQL编辑器
  10. 四-1、Cadence Allegro推荐操作方式和视图命令