百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Jmeter与压测相关概念 jemeter压测

csdh11 2024-12-20 14:08 4 浏览

RT(response time)

什么是RT? RT就是指系统在接收到请求和做出相应这段时间跨度

但是值得一提的是RT的值越高,并不真的就能说明我们的系统的吞吐量就很高, 比如说,如果存在数据在网络中传输时出现了丢包的现象,传输的数据少了,速度就会增加, 但是这是事故,不是说我们的系统吞吐量高

此外,对不同的系统来说衡量的标准也不一样,对一个游戏软件来说,响应时间也就是常说的延迟。 在100ms以内,游戏体验感会很好,飙升到几秒钟,干脆就不要玩了, 但是对一个编译系统来说,编译一套源代码可能好几十分钟,人们也愿意等

java应用程序中的GC也会导致系统的总体RT飙升

Throughput 吞吐量

什么是吐吞量呢?百度百科: 广义的吞吐量是: 单位时间内成功的传输数据的数量, 在我们进行压力测试得出的结果中, 可以将吞吐量理解成系统在单位时间内成功处理的请求的数量

一个系统的吞吐量和request对CPU的消耗,外部的接口以及IO等因素紧密相关,

比如一个web应用代码写的再漂亮,但是每次请求都会去查询数据库,并发数上来后,数据库就会占用大量的CPU负载,系统的IO飙升,甚至可能导致其他软件不得不等待mysql先执行完才能抢到CPU的时间分片。 系统的瓶颈积压到mysql这里,这个web应用的吞吐量一定不会很高

此外,一般我们都是这样描述吞吐量: 在并发数为xxx时,系统的吐吞量为yyy

并发用户数

它指的是系统可以承载的, 可以同时正常使用网站的用户数量, 这个指标似乎看起来可以比吞吐量更加直观反应系统的性能, 但是往往系统中的用户又有不同的行为, 比如未**的, 在线的, 同时发送请求的等等, 简而言之, 可以考虑用在线的用户和同时发送请求的用户数作为性能指标, 把在线的用户当成性能指标更直观, 把同时发送请求的用户数量当成性能指标更准确

QPS (query per seconds)

每秒的查询率, 用来权衡服务器在规定的时间内处理的流量数

计算公式: QPS = req / sec , 即平均每秒的请求量

TPS (transition per seconds)

TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 / 60s = 0。10 TPS。同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。

PV和UV

PV访问量 (Page View) 每打开一次页面或者刷新一次页面 pv+1, 它反应的的网站的页面被访问的次数

UV访问数(Unique Visitor) 即, 独立访客的访问数, 换句话就是一台电脑算一个访客,

通过QPS估算PV

公式1 : pv = QPS*3600*6

公式2: pv = QPS*3600*8

根据QPS,PV估算服务器的数量

服务器的数量= 每天的总PV / 单台服务器的PV

原理: 每天80%的访问集中在了当前的20%的时间段, 这20%的时间就叫做峰值时间

峰值时间段 QPS = 总pv数*0。8 / 每天的秒数*0。2

Jmeter

Jmeter能做什么?

Jmeter也是apache的顶级项目, 通过jmeter我们可以测试静态和动态资源,web动态应用程序的性能, 还可以用来模拟服务器,服务器中,网络或者对象上的高负载, 测试他们的强度,以及不同负载下的总体性能

点击进入官网下载

使用环境:Windows

使用的思路: 在jmeter提供的可视化页面中,添加一个一个的指定的模块。 对我们的web项目中指定的接口进行压力测试,当然它不仅仅使用于发送http请求测试web项目的资源接口

添加什么模块呢?

线程组: 也就是启动多少条线程对系统压测, 线程是否并发的启动

http的默认参数: 比如protocol host port 等等

添加请求的参数/请求体/cookie等信息

添加监听器来显示压测结果

实例:

添加线程组,每轮同时启动1000条线程对系统进行压测,重复1轮

添加默认使用的请求参数, 这个默认的请求参数并不要求强制添加,只是为了以后在具体的某个http请求压测模块不写请求参数时,使用这里面的默认参数

配置信息如下:

添加一个sample, 这个sample其实就是http请求, 一个具体的http请求, 用大白话说 ,我们想压测系统中的登录方法,就添加一个登录sample, 想压测系统中拉取个人信息的方法, 就添加一个 个人信息sample

sample详细配置

可以看到上图中我们可以添加request Param request body, 上传文件, 甚至可以添加一个模块添加请求的cookie模块

添加Listenner, 选择聚合报告 ,开始压测得到下面的结果,我们关注图中的吞吐量

支持使用配置文件中的数据当成压测的参数, 使用场景: 通过这个配置文件的配置,我们可以模拟出多用户并发访问系统的场景,下面配置中的每一行都是一个用户的信息,jmeter会自动读取这个配置文件中的每一行,使用这里面的信息进行压力测试,直到达到了用户指定的请求量才结束。

编写配置文件

导入配置文件

使用配置文件,详细的配置细节我都标在了图片中

发送请求

使用环境: linux

第一步: 在window上录好 XXX。jmx 文件

第二步: 启动

sh jmeter。sh -n -t XXX。jmx -l result。jtl

第三步:将result。jtl导回到window上的jmeter中在可视化页面中查看结果。

相关推荐

15个最好的性能测试工具(软件测试工程师必备)

在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。...

JMeter关联陌生又熟悉 jmeter re-use connection

JMeter关联是什么JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而...

jmeter汇总报告分析 jmeter总结

背景考验网站的不仅仅是数据的正确性,还有更重要的是灵活快速的交互,高并发的处理能力等。那么我们就需要对网站的整体的处理能力有更进一步的了解,以便来通过诸如集群,分布式,更换硬件等方式来提高网站处理能力...

收下这份实操案例,还怕不会用Jmeter接口测试工具

JMeter简介JMeter,一个100%的纯Java桌面应用...

Apifox--比 Postman 还好用的 API 测试工具

读者提问:有没有一款工具是集API文档、API调试、APIMock、API自动化测试四种功能为一身的?...

Jmeter之Bean shell使用(二) jmeter中beanshell的定义与引用

 上一篇Jmeter之Beanshell使用(一)简单介绍了下Jmeter中的Beanshell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求。本节内容...

如何服务端调优与JVM调优? 服务端运行环境为jvm

目录一、安装Jmeter二、压测三、服务端调优四、线上问题分析(一)问题分类(二)问题排查...

Jmeter与压测相关概念 jemeter压测

RT(responsetime)什么是RT?RT就是指系统在接收到请求和做出相应这段时间跨度但是值得一提的是RT的值越高,并不真的就能说明我们的系统的吞吐量就很高,比如说,如果存在数据在网络中传...

性能测试:JMeter参数化 jmeter的参数化

jmeter参数化  在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试,而在实际测试工作中,测试工具中实现不同...

JMeter 集群环境搭建指南 - 实现高效的压力测试

JMeter是一款非常受欢迎的压力测试工具,但是在大规模压力测试时,单机运行已经无法满足需求了。为了提高负载能力,我们需要搭建JMeter集群。下面,我们来看具体的做法。...

2022年十大接口测试工具合集 好用的接口测试工具

接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTfulAPI、SOAPWeb服务,这些...

阿里性能专家全方位对比Jmeter和Locust,到底谁更香?

本文章出自【码同学软件测试】码同学公众号:自动化软件测试码同学抖音号:小码哥聊软件测试...

性能测试工具JMeter的使用 使用jmeter进行两个接口关联测试

熟练掌握一款性能测试工具,是我们必备的一项技能。他不仅可以帮助我们模拟测试场景(包括并发、复杂的组合场景),还能将测试结果转化成数据或图形,帮助我们更直观地了解系统性能。jmeter简介...

JMeter做性能测试,用jdk17和jdk8,哪个性能更好呢?

现在企业做接口性能测试,大多还是会用JMeter,而JMeter是用java开发的、开源项目,所以,JMeter依赖java运行环境。目前,jdk已经发布了多个新版本,主推的是jdk17。推荐它的一个...

基于JMeter的性能压测平台实现 jmeter压测分析

这篇文章已经是两年前写的,短短两年时间,JMeter开源应用技术的发展已经是翻天覆地,最初由github开源项目zyanycall/stressTestPlatform形成的这款测试工具也开始慢...