高并发测试测试

article/2025/11/3 23:31:46

压力测试概念

  1. 压力测试即在一定的硬件条件下,模拟大批量用户对软件系统进行高负荷测试,测试出软件的负荷极限,进而重新优化应用性能或在实际的应用环境中控制风险。
  2. 常见压力测试工具
    (1)Apache JMeter
    JMeter作为一款广为流传的开源压力测试产品,JMeter可以用于测试静态和动态资源,如静态文件、java服务器程序、数据库、FTP服务器等,也允许使用正则表达式创建断言,这里介绍JMeter4.0
    (2)Loadrunner
    Loadrunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快地查找和发现问题
    (3)NeoLoad
    NeoLoad是Neotys出品的一种负载和性能测试工具,可真实地模拟用户活动并监视基础架构运行状态从而消除所以web和移动应用程序中的瓶颈。NeoLoad通过使用无脚本GUI和一系列自动化功能,可让测试设计速度提高5~10倍。

使用JMeter进行高并发测试

  1. 下载并按照JMeter
    下载Jmeter4.0,并将下载后的apache-jmeter-4.0.zip解压到固定目录,如D盘
    注意:JMeter运行需要依赖于JDK环境,在安装JMeter前,需要先确认安装机器的JDK环境已具备。JMeter4.0需依赖JDK1.8及以上版本。

  2. 配置JMeter环境
    在环境变量中,新增或修改以下配置
    (1)添加变量JMETER_HOME,设定其值为“D:\environment\apache-jmeter-4.0”(JMeter实际解压路径(bin的上一层))
    在这里插入图片描述
    (2)修改Path变量,追加以下内容(新增的内容和原来Path变量的值以“,”相隔)。%JMETER_HOME%\bin;
    在这里插入图片描述
    (3)添加或修改CLASSPATH变量,添加如下内容
    %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
    %JMETER_HOME%\lib\jorphan.jar;(这个好像不用也可以)
    在这里插入图片描述
    (4)打开命令提示符窗口,输入“jmeter”命令启动JMeter(以管理员身份运行)
    在这里插入图片描述
    (5)设置JMeter语言为简体中文
    在这里插入图片描述

    使用JMeter进行抢购项目测试

1.添加测试计划
修改测试计划名称为“测试抢购”项目,并点击保存图标,保存测试计划
在这里插入图片描述
2.添加线程组
在这里插入图片描述
3.设置线程组参数
(1)线程数:要启动的线程数目
(2)Ramp-Up Period(in seconds):线程启动时间间隔,如果为0,则代表同事启动对应的线程数的线程,即并发数
(3)循环次数:请求执行次数。
在这里插入图片描述
4.添加HTTP请求,然后保存
在这里插入图片描述
5.设置HTTP请求相关参数,并保存(如果是80端口可不设置)
在这里插入图片描述
6.添加“察看结果树”监听器,并点击“保存”图标
在这里插入图片描述
注意:监听器用来监听请求的执行结果,“察看结果树”为最常用的监听器之一
7.启动测试计划
在这里插入图片描述
8.查看测试结果
在这里插入图片描述
9.(1添加配置元件“计数器”)并点击保存图标进行保存
在这里插入图片描述
设置计数器的相关参数,其中Starting value为初始值、递增为每次循环增量、引用名称为计数器被使用时需要指定的名称
在这里插入图片描述
(2.引用计数器)
使用 引 用 名 称 引 用 对 应 计 数 器 , 图 中 包 含 两 个 参 数 t o k e n 、 g o o d s I d , 其 值 分 别 为 “ t o k e n : {引用名称}引用对应计数器,图中包含两个参数token、goodsId,其值分别为“token: tokengoodsId,token{token}”和“1”
在这里插入图片描述
10.并发测试
通过以上步骤我们已经完成了“抢购”接口高并发测试的配置,点击运行接口即可测试,开发人员还可以不断调整并发线程数来测试系统的抗压极限。

使用JMeter生成测试报告

1.生成测试报告
使用管理员打开命令提示符输入以下命令
jmeter -n -t d://qg.jmx -l d://result.jtl -e -o d://result
其中d://qg.jmx为测试计划的实际保存路径,d://result.jtl为测试结果的实际保存路径,d://result为生成HTML格式图形化报告的实际存储路径
注意:jtl文件为JMeter测试结果文件,用来保存实际的测试结果。
当命令窗口打印出“end of run”的时候,代表生成报告成功。index。html页面为报告的入口。

分析测试报告

开发人员不需要了解并发测试报告中的所有项,下面列出一下开发人员需要重点关注的测试项。
1.APDEX性能指数
APDEX是一个国际通用标准,是用户对应用性能满意度的量化值。
(1)T(Toleration threshold,用户容忍阈值):指的是用户可以容忍应用响应的最大时间,响应时间小于该阈值则用户体验越愉悦,大于该阈值则用户体验很一般,但是可以容忍,还没达到用户要放弃应用的程度。
(2)F(Frustration threshold,用户挫折阈值):指的是用户放弃应用的临界值,响应时间超过该值表示用户可能决定放弃该应用。
请求响应的详细时间分布可以通过点击Charts->Response Times–>Response Time Overview进行查询
2.Requests Summary(请求摘要)
表示执行成功和失败的请求数目的具体占比,OK表示执行成功,KO表示执行失败。JMeter主要是以HTTP状态码是否为200来判断请求的成功和失败。
3.Statistics(综合统计图)
Statistics为综合性的请求响应时间及响应状态的统计图,包含了请求数、请求失败数、请求错误比例,平均响应时间、最小响应时间、最大响应时间等。
4.Errors(错误统计图)
Errors为并发测试中的请求错误统计图。


http://chatgpt.dhexx.cn/article/XfTKGuN5.shtml

相关文章

Linux脚本查数据库

本篇文章的简介: 1.在开发过程中,我们都会使用Linux,下面介绍使用Linux来查询数据库 2.使用定时器 #!/bin/bash ###!/bin/bash是一个解释器,表示用sh来解释执行你的命令#设置UTF-8export PGCLIENTENCODINGUTF8#查询下的目录data_dir/app/payhome/paytest/xzz#获取年月日时分秒e…

Linux下数据库的安装配置、数据库C程序连接

一、数据库的安装和配置 数据库的安装 配置 (1)先查看数据库状态(service mysql status),如果没有启动,执行启动命令(service mysql start) (2)mysql -uroot -p在root状态执行,进入数据库&…

Linux部署达梦数据库超详细教程

陈老老老板🦸 👨‍💻本文专栏:国产数据库-达梦数据库 👨‍💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版),超级详细。 👨‍&#x1f…

linux之database(数据库)一

linux之database(数据库) 01: 数据库服务概述 、 构建MySQL服务 、 数据库基本管理 、 MySQL数据类型 02: 表结构 、 MySQL键值 03: 数据导入导出 、 管理表记录 、 匹配条件 、 MySQL管理工具 04: 用户授…

Linux嵌入式数据库

文章目录 一、SQLite简介二、SQLite数据库安装三、SQLite的命令用法3.1 创建一个数据库3.2 创建一张表格3.3 向创建的表格中插入数据3.4 查看数据库的记录3.5 其他常用语句 四、SQLite的编程操作4.1 打开/创建数据库的C接口4.2 创建表的C接口 一、SQLite简介 SQLite是一个无服…

linux中的数据库

目录 1.安装MySQL 2.创建数据库 3.删除数据库 4.查询创建数据库的语句 5使用数据库的语句 6.查询当前默认的数据库 7.查询使用的编码方式和校验规则 8.创建表的语句 9.表的物理存储结构 10.表的数据类型 11.总结 引言: 数据库是现代应用开发中不可或缺的组…

linux启动数据库

1、查看mysql版本   1)status;   2)select version(); 2、Mysql启动 1)使用 service 启动:   service mysqld start (5.0版本是mysqld)   service mysql start (5.5.7版本是mysql) 2)使用 mysqld 脚本启动…

linux之数据库

一.数据库的基本概念 1.定义: 数据库就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送 2.数据库的种类 sqlserver-----微软公司 mysql---------sun公司 oracle--------oracle db2------------i…

【Linux-MYSQL】数据库的使用

目录 1.数据库介绍 🌈1.1数据库的分类 🌈1.2存储引擎 2.数据库的操作 🌈2.1创建数据库 ​编辑👿 1.查show databases; 👿2删除 drop database库名 👿3.创建 create 查看创建数据库的详细信息 &…

Linux系统中安装数据库

1.在linux系统的root目录中创建一个temp目录 mkdir temp2.将MySQL安装包传输到Linux系统中temp目录下 3.解压压缩包,将解压后的文件移动到/usr/local,同时命名为mysql 解压:[rootlocalhost temp]# tar zxvf mysql-5.7.27-linux-glibc2.12-x…

数据库的概念?怎么在linux内安装数据库?怎么使用?

目录 一、概念 二、mysql安装及设置 1.安装mysql 2.数据库服务启动停止 三、数据库基本操作 1、数据库的登录及退出 2、数据表的操作 3、mysql查询操作 一、概念 数据库:是存放数据的仓库,它是一个按数据结构来存储和管理数据的计算机软件系统。数据库管理…

Linux下常用数据库介绍

一、数据库介绍 1.什么是数据库; 数据库就是一个存放计算机数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组 织形式或数据之间的联系)来对数据进行组织和存储的,可以通过数据库提供的多种方法来管理其…

Linux下访问数据库

Linux下访问数据库 声明:本文只简单描述Linux系统下访问mysql数据库的步骤,关于连接上数据库之后的简单的对于数据库的增删改查等操作只是稍微提及,关于增删改查的语句书写,本文不再讲述。 一般来说,访问数据库有如下几…

Linux_MySQL数据库基础

文章目录 1.基本使用连接MySQL服务器创建与删除数据库创建删除数据库表查看数据库表结构,向数据库表中插入,查询数据2. MySQL架构SQL分类存储引擎 注意一般情况下: MySQL服务并不暴露在公网上。MySQL一般会更改服务端口。 MySQL服务&#x…

linux:数据库连接

MySql数据库 视图:虚拟的表 索引:目录 事务:操作 安装数据库:sudo apt install mysql-server //mysql8.0 安装C/C开发库:sudo apt install libmysqlclient-dev 数据库:1.mysql 文件本身 2…

在linux上安装数据库服务

一、通过本地包安装mysql 1.先通过软件将包从windows传到linux上,四个rpm包。 2.检查Linux上是否卸载了数据库自带的包,会导致安装不上。如果有,卸载掉。 rpm -qa | grep mysql rpm -qa | grep mariadb 卸载命令 rpm -e -nodeps 自带的包…

Linux环境下的数据库(基础篇上)

数据库 一、Linux环境下数据库的安装二、数据库的基础操作三、数据库中表的操作 一、Linux环境下数据库的安装 需要在 root 用户权限下进行数据库的一系列安装操作 安装 mariadb 服务: # yum install -y mariadb-server安装 mariadb 命令行客户端: …

Linux之数据库操作

一、mysql基本操作 1,连接数据库 mysql -u root -p -h 127.0.0.1 mysql -u root -p -h 192.168.12.56 2,授予远程连接的权限 grant all privileges on *.* to root"%" identified by "nihao123" 3,修改root用户的密码 先…

Linux和数据库

Linux命令:软件测试第一个任务,一般都需要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互(没有图形化页面),需要使用Linux命令 数据库:所有的软件在使用过程中所产生的数据,最终都要存在数据库当中,而测试工作往往会需要去校验数据的正确与否,因此需要学习数…

Linux服务器操作数据库

一、进入mysql数据库 1、使用命令连接进入数据库 mysql -u root -p参数解析: root-是连接数据库的用户 连接成功的截图如下 2、可以查看当前用户有哪些数据库权限 show databases; 3、进入到指定的数据库 use test;参数解析:test-是数据库名称 4、…