性能测试之压力测试

2023-09-15 21:00:00

一.基本介绍

压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定性维持在一个范围内。
压力测试可以帮助我们找到寻常测试难以找到的:内存泄漏、并发与同步

二.性能指标

  • 响应时间: 用户发送请求,到客户端接收服务器端的响应结束,整个过程所耗费的时间(时间越短,证明接口性能越好)。
  • HPS(Hits Per Second): 每秒点击次数,单位是次/秒。(一般不去看)
  • TPS(Transaction per Second): 系统每秒处理交易(业务)数,单位是笔/秒。
  • QPS(Query per Second): 系统每秒处理查询数,单位次/秒。
行业性能范围(TPS)
金融行业1000 ~ 50000(不包含秒杀类似的特殊场景)
保险行业100 ~ 100000(不包含秒杀类似的特殊场景)
制造行业10 ~ 5000
互联网电子商务10000 ~ 1000000(淘宝、京东等)
互联网中型网站1000 ~ 50000
互联网小型网站500 ~ 10000
  • 最大响应时间: 用户发送请求到接到响应的最大时间(发送十万请求,其中长的响应时间就是20s)。
  • 最少响应时间: 用户发送请求到接到响应的最少时间(发送十万请求,其中短的响应时间就是10ms)。
    - 90%响应时间: 指所有用户的响应时间进行排序,第90%的响应时间(发送十万请求,90%在1s内都响应)。

从外部看,性能测试主要关注以下三个指标:

  • 吞吐量: 每秒系统能够处理的请求数、任务数。
  • 响应时间: 服务器处理一个请求或任务的时间。
  • 错误率: 一批请求中结果出错的请求的比例。

三.下载安装JMeter

1.下载安装包

JMeter官网
在这里插入图片描述

2.启动JMeter

解压 -> bin -> 双击jmeter.bat
在这里插入图片描述

四.使用JMeter

1.模拟用户请求

在这里插入图片描述
在这里插入图片描述

2.填写测试地址

在这里插入图片描述
在这里插入图片描述

3.接收测试结果

在这里插入图片描述

4.结果解释

在这里插入图片描述

更多推荐

Jenkins学习笔记3

git+github+jenkins:架构图:说明:jenkins知道github有更新了,就pull进行构建build,编译、自动化测试。然后部署到应用服务器。mavenjava的项目构建工具。在开发者电脑上创建空密码密钥对。[root@git-developer~]#gitclonegit@github.com:c

解决https页面加载http资源报错

为什么会报错?HTTPS页面加载HTTP资源会报错的原因是出于安全性考虑。HTTPS(HyperTextTransferProtocolSecure)是一种通过使用SSL/TLS加密通信来保护数据传输的协议,它确保了客户端和服务器之间的安全连接。当HTTPS页面尝试加载非加密的HTTP资源时,存在以下问题:混合内容警告

Scrapy爬虫框架实战

Python实现爬虫是很容易的,一般来说就是获取目标网站的页面,对目标页面的分析、解析、识别,提取有用的信息,然后该入库的入库,该下载的下载。以前写过一篇文章《Python爬虫获取电子书资源实战》,以一个电子书的网站为例来实现python爬虫获取电子书资源。爬取整站的电子书资源,按目录保存到本地,并形成索引文件方便查找

海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储

文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131679108红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传

git的使用(详细教程)通过命令行操作及vscode插件

个人仓库创建首先在网页中注册并登录gitee,然后进行如下操作:1、在Gitee页面右上角找点+号点击新建仓库2、填写一个仓库名称,下移将红框圈起的方框勾选上即可创建仓库(仓库介绍可写可不写)3、创建成功跳到如下界面4、此时不要关闭该页面,到文件中新建一个文件夹(文件夹名字随意,在C/D/F盘建都可以)打开新建的文件夹

RES 系列 GRES: Generalized Referring Expression Segmentation 论文阅读笔记

RES系列GRES:GeneralizedReferringExpressionSegmentation论文阅读笔记一、Abstract二、引言三、相关工作有关的指代任务和数据集指代分割方法四、任务设置及数据集4.1GRES设置RES回顾一般化的RES评估4.2gRefCOCO:一个大尺度的GRES数据集多目标样本计数

Kotlin File.reader BufferedReader readLine

KotlinFile.readerBufferedReaderreadLineimportjava.io.BufferedReaderimportjava.io.Filefunmain(args:Array<String>){valfilePath="./myfile.txt"valfile=File(filePath

【跟小嘉学 Rust 编程】二十八、Rust中的日期与时间(DateTime)

系列文章目录【跟小嘉学Rust编程】一、Rust编程基础【跟小嘉学Rust编程】二、Rust包管理工具使用【跟小嘉学Rust编程】三、Rust的基本程序概念【跟小嘉学Rust编程】四、理解Rust的所有权概念【跟小嘉学Rust编程】五、使用结构体关联结构化数据【跟小嘉学Rust编程】六、枚举和模式匹配【跟小嘉学Rust

【Vue入门】MVVM数据双向绑定与Vue的生命周期

目录一、Vue介绍1.1什么是Vue?1.2Vue的优点1.3库与框架的区别二、Vue入门2.1MVVM(数据双向绑定)2.2BootCDN(加速服务)三、Vue实例3.1Vue开发示例3.2双向数据绑定3.3Vue生命周期钩子一、Vue介绍1.1什么是Vue?Vue是一个渐进式的JavaScript框架,用于构建用户

Vue系列(一)之 Vue入门

一.Vue简介1.1概述Vue是一个构建用户界面(UI)的[渐进式]JavaScript框架。2.2特点1.声明式编码,遵循MVVM原则2.编码简单,体积小3.组件化,复用率高,代码维护容易2.3MVVM介绍MVVM,一种更好的UI模式解决方案,这个模式的核心是ViewModel,它是一种特殊的model类型,用于表示

MySQL学习系列(2)-每天学习10个知识

目录1.INNERJOIN和ON子句2.死锁3.SELECT*和SELECTcolumn1,column24.数据库的视图5.MySQL的触发器类型6.MySQL表的备份和恢复7.MySQL存储引擎8.索引优化9.MySQL中的子查询10.使用连接(JOIN)从多个表中检索数据👍点赞,你的认可是我创作的动力!⭐️收藏

热文推荐