Jmeter进行压力测试不为人知的秘密

 jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。 Jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等等。

Jmeter安装

 *JDK安装

1.由于Jmeter是基于java开发,首先需要下载安装JDK,官网下载地址:Java Downloads | Oracle 

2. 选择Java SE 8u151/ 8u152,点击JDK下载 

3. 安装下载的JDK 
4. 配置系统环境变量

JMeter安装

  1. 官网下载地址:Apache JMeter - Download Apache JMeter
  2. 下载完成后解压zip包
  3. 启动JMeter 
    双击JMeter解压路径(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可 

接口测试

一般分五个步骤:(1)添加线程组 (2)添加http请求 (3)在http请求中写入接入url、路径、请求方式和参数 (4)添加查看结果树 (5)调用接口、查看返回值

注:要查看自己的接口是什么类型的请求,上述为get请求

添加聚合报告就可以查看测试的信息

post请求

注:post请求要加上参数值

jmeter 操作数据库 

操作数据库基本有四个步骤:(1)导入mysql的jdbc的jar包 (2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration (3)线程组里添加jdbc request,写sql语句 (4)添加察看结果树,点击启动按钮,就能看到执行的SQL。具体的实例如下截图所示:

JMeter可以针对多个数据库进行操作,下方提供一下常用的驱动

压测结果查看

运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。

Samples:表示一共发出的请求数
Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)
Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因
Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。

Jmeter-webservice接口脚本

基本分为五个步骤:(1)先需要通过soapui工具获取到webservice接口的请求地址、请求报文和请求soapaction。(2)jmeter新建一个线程组 (3)线程组下建立SOAP/XML-RPC Request,写入请求url、请求报文、请求soapaction。(3)启动jmeter,调用接口,通过察看结果树查看返回值。
soapui获取信息的实例如下图所示:

soapui提交完后,点击raw,可看到soapation,有些接口若没返回soapation,则jmeter里也就不用填。

 jmeter-webservice脚本实例如下图所示:

在做压力测试的时候很多时候会要去测试并发,其实并发测试归属于压力测试,其中的差别就在于需求范围和间接的运行时间,如下图:

 

*Rame-Up Period(in seconds):表示JMeter每隔多少秒发动一次,如果设置为0,就代表0秒跑一次,这里边数可以理解为多长时间跑一次(准备时间)

在网络很多网友反馈Jmeter的测试结果不准确,下面我们主要聊一下不准确的原因

Jmeter 是ASF的一款开源免费软件 ,在国内被很多中小公司当作性能测试工具广泛使用。Apache软件基金会(ASF)是一家总部位于美国的非营利性慈善组织。ASF的所有产品都通过公共论坛的在线协作开发,并从美国境内的中央服务器分发。

使用Jmeter进行压力测试你所不知道内幕

Jmeter做性能或压力测试,首先要建立一个线程组,如果需要事务在线程组内再添加事务,然后根据需要可以设置并发的虚拟用户数,也就有多少个线程组并发运行。

为了弄清楚jmeter统计结果不准确,首先我们要搞清楚Jmeter对线程组中的HTTP请求运行的机制。对于Jmeter而言,线程组内的HTTP请求都线性执行(上一个请求执行并返回结果后,再请求下一条请求),但事实上往往并没有那么简单。如下所示Chrome访问一个web页面,HTTP请求是并发进行的(前一个请求还没有返回结果,下一条请求就开始下发请求)。这样就会导致Jmeter尤其是事务的统计产生较大偏差。

使用Jmeter进行压力测试你所不知道内幕

小编结语:根据我的经验,做单接口压测,用jmeter完全没问题;如果做页面压测,结果同样具有参考性,能反应大部分性能问题;如果要获得更准确的结果可以考虑其他工具,如熟知的loadrunner。

【性能测试】终于有一套全面的性能测试教程啦!真实企业性能测试全流程项目实战!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/158080.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mysql中的进阶增删查改操作(二)

联合查询和合并查询 一.联合查询1.内连接2.外链接2.1左外连接2.2右外连接 3.自连接4.子查询5.合并查询 一.联合查询 步骤 1.进行笛卡尔积 2.列出连接条件 3.根据需求再列出其他条件 4.针对列进行精简(可以使用聚合函数) 我们先搭建一个多表查询的框架 这样一个多表查询就搭建出…

换硬币C语言(超详细分析!包会)

换硬币C语言(详解) 题目介绍分析题目代码题目讲解 题目介绍 分析 通过枚举的方式找出所有可能的找零方案,并统计满足条件的方案的个数。使用三层嵌套的循环遍历所有可能的组合,判断总金额是否等于给定的金额 x,并输出…

Smart Tomcat的使用

文章目录 Smart Tomcat的作用Smart Tomcat的安装Smart Tomcat的配置Smart Tomcat的启动 Smart Tomcat的作用 我们知道使用Servlet来完成一个项目一共需要七个步骤,即创建maven项目、添加依赖、创建目录结构、编写代码、打包程序、部署程序、验证程序。这样的确是完…

城市建设后如何进行对建筑的实时监测,预防危险?

建筑后健康监测是指对已建成的建筑物进行定期的结构健康监测,以确保其安全性和稳定性。这种监测可以包括对建筑物的振动、变形、裂缝、损伤等进行监测,以及对其结构完整性进行评估。此外,建筑物健康监测也可以促进建筑物的智能化和自动化管理…

Java-Review

题型分值总分分布简答 5 ∗ 8 ′ 5*8 5∗8′ 4 0 ′ 40 40′面向对象、异常处理、多线程、输入输出处理程序分析和补全 3 ∗ 1 0 ′ 3*10 3∗10′ 3 0 ′ 30 30′异常处理、Collection、图形化界面、输入输出处理编程 2 ∗ 1 5 ′ 2*15 2∗15′ 3 0 ′ 30 30′Collections、多线…

Docker Swarm: 容器编排的力量和优势深度解析

文章目录 Docker Swarm的核心概念1. 节点(Node)2. 服务(Service)3. 栈(Stack) 使用Docker Swarm1. 初始化Swarm2. 加入节点3. 创建服务4. 扩展和缩减服务5. 管理栈6. 管理服务更新 Docker Swarm的优势深度解…

JAVA深化篇_42—— 正则表达式

3 正则表达式 3.1正则表达式介绍 3.1.1 什么是正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),是计算机科学的一个概念。正则表达式通常被用来…

前端反卷计划-组件库-03-组件样式

Hi, 大家好!我是程序员库里。 今天开始分享如何从0搭建UI组件库。这也是前端反卷计划中的一项。 在接下来的日子,我会持续分享前端反卷计划中的每个知识点。 以下是前端反卷计划的内容: 目前这些内容持续更新到了我的 学习文档 中。感兴趣…

2023年【陕西省安全员B证】考试题库及陕西省安全员B证找解析

题库来源:安全生产模拟考试一点通公众号小程序 陕西省安全员B证考试题库是安全生产模拟考试一点通生成的,陕西省安全员B证证模拟考试题库是根据陕西省安全员B证最新版教材汇编出陕西省安全员B证仿真模拟考试。2023年【陕西省安全员B证】考试题库及陕西省…

5g路由器赋能园区无人配送车联网应用方案

随着人工智能、无人驾驶技术和自动化技术的不断进步,无人配送技术得到了极大的发展。园区内的物流配送任务通常是繁琐的,需要大量的人力资源和时间。无人配送技术能够提高配送效率并减少人力成本。无人配送车辆和机器人能够根据预定的路线和计划自动完成…

23111701[含文档+PPT+源码等]计算机毕业设计javaweb点餐系统全套餐饮就餐订餐餐厅

文章目录 **项目功能简介:****点餐系统分为前台和后台****前台功能介绍:****后台功能介绍:** **论文截图:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:77687156…

实践小记——C#格式化小数输出

文章导航 格式化小数位数示例格式化小数总结参考文章 面向Winform的实践过程中,遇到的一些使用到的小细节; 当然其他地方基本上也同理。 写作不易,希望友善多金的码友能够随手点一个赞,共同创建氛围更加良好的开发者社区&#xf…

QTcpSocket发送结构体的做法

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> QTcpSocket发送结构体其实很简单:使用QByteArray类对象进行封装发送,示例代码如下: /* 消息结构体 */ struct stMsg {int m_A…

VRRP专题

一,VRRP:虚拟路由冗余协议 将多个路由设备联合组成一台虚拟的路由设备,这台虚拟的路由设备做用户的网关,转发数据;这台虚拟的设备的网关由一个高优先级的设备承载,该设备被称为master路由器,其…

Flutter 应用启动从闪屏页短暂黑屏再到第一个页面

由于应用初始状态启动会有白屏现象,便使用 flutter_native_splash 2.3.5 插件生成了启动相关的配置,并且按照示例使用了 import package:flutter_native_splash/flutter_native_splash.dart;void main() {WidgetsBinding widgetsBinding WidgetsFlutte…

软件开发和测试

一,敏捷软件开发 二,软件测试

Vue3.0和2.0语法不同分析

前言&#xff1a;本篇文章只做VUE3.0和VUE2.0语法上的不同分析&#xff0c;不做性能和源码架构等的分析。 一、VUE3.0和VUE2.0代码结构不同 VUE3.0代码实例 <template><div><span>count is {{ count }}</span><span>plusOne is {{ plusOne }}…

HHDESK资源管理批量修改

HHDESK自带客户端支持批量修改。 右键资源&#xff0c;选择“批量修改”。 在弹出框中&#xff0c;选择需要修改的选项&#xff1b; 以及资源类型&#xff1b; 点击确定&#xff1b; 可在对话框下方的操作日志中&#xff0c;查看结果。

【环境准备】NodeJs(压缩包版本)安装与配置

一、NodeJs(压缩包版本)安装与配置 1、下载、解压 访问 NodeJs官网,选择Window版本的.zip格式进行下载&#xff0c;下载完成后进行解压&#xff08;ps: 本人解压路径为D:\nodejs&#xff09; 2、 环境变量配置 配置环境变量&#xff0c;找到系统变量下的path并选中&#xf…

Windows 安装 汉化版 burp suite

注&#xff1a;个人笔记&#xff0c;仅供参考。 burpsuite 软件下载链接&#xff1a; https://www.alipan.com/s/cWxMF5S9sq4 提取码: 31ut 注&#xff1a;安装路径不要有中文 安装 配置 Java 环境 因为burpsuite是在JAVA环境下运行的&#xff0c;所以首先应该配置好JAVA环…