JMeter性能(压力)测试--使用解锁
1. 首先去官网下载JMeter: http://jmeter.apache.org/download_jmeter.cgi
2. 解压缩后到目录 \apache-jmeter-5.0\bin 下找到 jmeter.bat 点击执行,出现以下界面:
3. 然后新建需要测试的http请求,以 ”http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试“ 为例:
Test Plan -> Add -> Threads(Users) -> Thread Group
Name: 线程组名称
Number of Threads(users) : 虚拟用户数。一个虚拟用户占用一个线程或进程,设置多少虚拟用户在这里就是设置多少个线程数。
Ramp-Up Period(in seconds):准备时长,设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,即每秒钟启动5个线程。
Loop Count: 循环次数,每个线程发送请求的次数,如果线程数为10,循环次数为100,那么每个线程发生100次请求。总请求数为10 * 100 = 1000,如果勾选了 Forever,那么所有线程会一直发送请求,直到选择停止运行脚本。
Delay Thread creation until needed:知道需要时延迟线程的创建。
Scheduler:调度器,设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)。
4. 添加需要测试的请求: Thread Group -> Add -> Sampler -> HTTP Request
填写参数内容如下:
ie: 编码方式,默认为utf-8
wd: 搜索词,为jmeter性能测试
5. 添加查看结果树: 右键点击Thread Group -> Add -> Lisenter -> View Results Tree
修改响应数据格式为:HTML Source Formatted,Response Data中可以看到本次请求返回的数据:
6. 添加用户自定义变量,右键 -> Thread Group -> Add -> Config Element -> User Defined Variables
将wd(搜索词)设置为自定义变量:
并可在http请求中使用该参数,格式为:${wd},之前为:jmeter性能测试
7. 添加断言
右键点击 HTTP Request -> Assertions -> Response Assertion
主要选中: Main sample only, Document [text], Contains, 在Patterns to Test中添加用户自定义变量,因为查到的结果中一定会包含搜索词,否则判断为请求失败。
8. 添加断言结果
右键点击 HTTP Request -> Add -> Lisenter -> Assertion Results
如果请求成功,则会直接显示HTTP Request, 否则会显示Response Assertion: Test failed: document expected to contain /断言中写的匹配内容/ (我故意改成了${wd} 111, 所以会断言失败)
9. 添加聚合报告
右键点击 Thread Group -> Add -> Lisenter -> Aggregate Report
执行请求后(可以先修改性能测试相关参数配置:线程数、循环次数、持续时间等,目前我这里还是单线程作业),聚合报告就会显示如下:
聚合报告参数详解:
Lable:每个JMeter 都有一个Name属性,这里显示的就是Name属性的值。
#Samples: 请求数,表示这次测试中一共发出了多少请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100。
Average: 平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了Transaction Controller 时,以Transaction为单位显示平均响应时间。
Median: 中位数,即50%用户的响应时间。
90% Line: 90%用户的响应时间。
Min: 最小响应时间。
Max: 最大响应时间。
Error%:错误率--错误请求数/请求总数
Throughput:吞吐量--默认情况下表示每秒完成的请求数。
KB/Sec: 每秒从服务器端接收到的数据量,相当于Load Runner中的Throughput/Sec。
一般来说,性能测试中我们需要重点关注的数据有:#Samples请求数、Average平均响应时间,Min最小响应时间,Max最大响应时间,Error% 错误率及Throughput吞吐量。
JMeter性能(压力)测试--使用解锁的更多相关文章
- JMeter工具接口性能压力测试分析与优化
最近公司做的项目,要求对相关接口做性能压力测试,在这里记录一下分析解决过程. 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情 ...
- 如何使用Jmeter进行压力测试
Jmeter做压力测试的操作:Jmeter不仅可以做接口测试,还可以做压力测试,下面介绍介绍如何jmeter进行简单地压力测试.具体步骤如下: 第一步:添加请求,这里不介绍具体步骤,详见(https: ...
- 学习使用Jmeter做压力测试(一)--压力测试基本概念
学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...
- 【转】Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- [AapacheBench工具]web性能压力测试工具的应用与实践
背景:网站性能压力测试是性能调优过程中必不可少的一环.服务器负载太大而影响程序效率是很常见的事情,一个网站到底能够承受多大的用户访问量经常是我们最关心的问题.因此,只有让服务器处在高压情况下才能真正体 ...
- Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- Web性能压力测试工具之Apache AB 详解
下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/dow ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探
Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...
- [转] Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- 使用JMeter做压力测试
使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...
随机推荐
- TypeScript 之 声明文件的结构
https://www.tslang.cn/docs/handbook/declaration-files/library-structures.html 模块化库 一些库只能工作在模块加载器的环境下 ...
- 如果指针为空,返回ERROR
if(!p) //是!p而不是p return ERROR;
- jquery遍历table的tr获取td的值
方法一: var siginArray = []; $("#tbody").children("tr").each(function () { var sigi ...
- 菜鸟如何使用hanlp做分词的过程记录
菜鸟如何使用hanlp做分词的过程记录 最近在学习hanlp的内容,准备在节后看看有没有时间整理一波hanlp分享下,应该还是会像之前分享DKHadoop一样的方式吧.把整个学习的过程中截图在配文字的 ...
- Spring Cloud(Dalston.SR5)--Feign 与 Hystrix 断路器整合
创建项目 要使 Feign 与 Hystrix 进行整合,我们需要增加 Feign 和 Hystrix 的依赖,修改 POM.xml 中增加以下依赖项如下: <?xmlversion=" ...
- iOS-微信分享多张图片(UIActivityViewController多图分享和多图分享失败)
前言 微信分享到朋友圈,可分享的类型有:文字类型.图片类型.音乐类型.视频类型和网页类型,但是我们在做图片分享的时候发现微信给的API只能分享一张图片,达不到一些APP的需求,而产品汪或者Boss想要 ...
- 页面框架加载完自动执行函数$(function(){});
页面中有一些大的资源文件,如图片,声音等,如果一个事件绑定写在这些加载资源代码的下方,那么要等资源加载完才会绑定,这样体验不够好. 于是想不等资源加载完,只要框架加载完成就绑定事件,就可以把代码放在以 ...
- elixir环境配置
mac下 brew install elixir debian下版本可能太低,需要kiex 安装 curl -sSL https://raw.githubusercontent.com/taylor/ ...
- [蓝桥杯]ALGO-116.算法训练_最大的算式
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...
- 寻找数组中第K大的数
给定一个数组A,要求找到数组A中第K大的数字.对于这个问题,解决方案有不少,此处我只给出三种: 方法1: 对数组A进行排序,然后遍历一遍就可以找到第K大的数字.该方法的时间复杂度为O(N*logN) ...