当前位置: 首页 > news >正文

jmeter模拟多用户并发

一、100个真实的用户

1、一个账号模拟100虚拟用户同时登录和100账号同时登录

  • 区别

(1)1个账号100个人用,同时登录;

(2)100个人100个账号,同时登录。

  • 相同

(1)两个都是100人同时登录,具体看项目需求。

2、账号来源

(1)利用“注册”或“创建”账号接口,创建100个用户;

(2)“查询”接口,保存100个账号的账号、密码到一个文件。

3、提取100个账号、密码的文件

(1)jmeter脚本整体布局

<span style="background-color:#f8f8f8"><span style="color:#333333">线程组(一级)---->请求默认值、请求头、http请求、察看结果树(二级)----->正则表达式、BeanShell 后置处理程序(三级)。</span></span>

HTTP请求默认值:是存放系统通用ip的位置(协议:http; 服务名称或ip:127.0.0.1);

HTTP信息头管理:接口请求之前需要带的信息,部分接口不带不能运行(Authorization、Content-Type、Accept、User-Agent),例如必须带的token就在信息头中存放;

登录请求:请求方法、请求路径、消息体;正则表达式提取token

创建请求:请求方法、请求路径、消息体;参数化用户名,创建多个用户;

查询账号:请求方法、请求路径、消息体;正则表达式提取用户名、密码;BeanShell 后置处理程序存储返回值到文件中。

1.png

(2)查询请求中的正则表达式和BeanShell 后置处理程序

  • 正则表达提取----->获取想要的字段内容

2.png

  • BeanShell 后置处理程序---->将提取到的字段内容存储在指定文件4.csv中

<span style="background-color:#f8f8f8"><span style="color:#333333">FileWriter fs=new FileWriter("D://近期//4.csv",true);
BufferedWriter ut =new BufferedWriter(fs);
out.write(vars.get("username")+","+vars.get("id"));    //username、id为正则定义名称
out.write(System.getProperty("line.separator"));      //相当于"\n"自动换行
out.close();
fs.close();</span></span>

3.png

  • 线程组线程数设置数目等于提取到的条数,执行脚本得到100个用户的账号和密码

4.png

二、100个用户同时登录

1.设置线程组

  • ​线程数:并发用户数

  • Ramp-up时间(秒):启动所有线程所需要的时长

(1)0---->代表同时并发;

(2)100---->线程数100,时间100秒。代表每隔1s启动一个线程(100/100=1)

  • 循环次数:Loop Count

(1)默认值是1;

(2)2---->线程数100,循环次数2。代表启动200个线程;

(3)勾选“永远”,会一直执行,需要人工停止,一般配合调度器使用。

5.png

2.模拟多用户登录

  • 线程组下添加----->CSV 数据文件设置

将存储用户账号、密码的文件引入,并命名变量名称,在登录时调用。

6.png

  • 调用,传参${name}

注释:本系统账号密码一致,所以只需要调用一列值

<span style="background-color:#f8f8f8"><span style="color:#333333">/api/v1/oauth/token?username=${name}&password=${name}&scope=all&grant_type=password</span></span>

7.png

3.执行测试,查看结果

100用户同时登录

8.png

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

相关文章:

jmeter模拟多用户并发

一、100个真实的用户 1、一个账号模拟100虚拟用户同时登录和100账号同时登录 区别 &#xff08;1&#xff09;1个账号100个人用&#xff0c;同时登录&#xff1b; &#xff08;2&#xff09;100个人100个账号&#xff0c;同时登录。 相同 &#xff08;1&#xff09;两个都…...

澎峰科技|邀您关注2023 RISC-V中国峰会!

峰会概览 2023 RISC-V中国峰会&#xff08;RISC-V Summit China 2023&#xff09;将于8月23日至25日在北京香格里拉饭店举行。本届峰会将以“RISC-V生态共建”为主题&#xff0c;结合当下全球新形势&#xff0c;把握全球新时机&#xff0c;呈现RISC-V全球新观点、新趋势。 本…...

【系统架构】系统架构设计之数据同步策略

文章目录 一、介绍1.1、分布式系统中的数据同步定义1.2、为何数据同步如此关键1.3、数据同步策略简介 二、为什么需要数据同步2.1、提高系统可用性2.2、备份与灾难恢复2.3、提高性能2.4、考虑地理位置&#xff08;如使用CDN&#xff09; 三、同步备份3.1、定义和概述3.2、工作原…...

Linux内核学习笔记——ACPI命名空间

所有定义块都加载到单个命名空间中。命名空间 是由名称和路径标识的对象层次结构。 以下命名约定适用于 ACPI 中的对象名称 命名空间&#xff1a; 所有名称的长度均为 32 位。 名称的第一个字节必须是“A”-“Z”、“_”之一。 名称的每个剩余字节必须是“A”-“Z”、“0”之…...

使用 OpenCV Python 实现自动图像注释工具的详细步骤--附完整源码

注释是深度学习项目中最关键的部分。它是模型学习效果的决定因素。然而,这是非常乏味且耗时的。一种解决方案是使用自动图像注释工具,这大大缩短了时间。 本文是pyOpenAnnotate系列的一部分,其中包括以下内容。 1、使用 OpenCV 进行图像注释的路线图。 2、pyOpenAnnotate工…...

RunnerGo中WebSocket、Dubbo、TCP/IP三种协议接口测试详解

大家好&#xff0c;RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验&#xff0c;最近得知RunnerGo新增对&#xff0c;WebSocket、Dubbo、TCP/IP&#xff0c;三种协议API的测试支持&#xff0c;本篇文章跟大家分享一下使用方法。 WebSocket协议 WebSocket 是一种…...

【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)一(112)

需求&#xff1a;&#xff1a; 有一个List<Map<String.Object>>,存储了某年某月的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;需按月份统计每个年月数据出现的次数&#xff0c;并且按照月份排序&#xff1…...

kafka踩坑

问题&#xff1a;项目中用到kafka作为消息中间件&#xff0c;因为现在是开发阶段&#xff0c;试了一次没问题之后就没在管&#xff0c;今天又要测试kafka相关功能&#xff0c;发现消息发送者能够正常发送消息&#xff0c;但是消费者怎么也就收不到数据。然后经过各种百度进行了…...

让你专注于工作的电脑桌面日程提醒软件

在现代职场中&#xff0c;上班族们常常在繁忙的工作中会遇到各种各样的事情干扰。比如&#xff0c;当我们专注于完成重要的报告时&#xff0c;却又有同事来询问问题&#xff1b;在准备去会议事项时&#xff0c;手机却突然收到了一系列的短信和通知。这些干扰不仅浪费了我们的时…...

62页智慧产业园区数字化综合解决方案PPT

导读&#xff1a;原文《62页智慧产业园区数字化综合解决方案PPT》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 喜欢文章&#xff0c;您可以关注评论转发本文&#…...

苹果开发者账号注册方法简明指南

注册苹果开发者账号的方法 在2020年以前&#xff0c;注册苹果开发者账号后&#xff0c;就可以生成证书。 但2020年后&#xff0c;因为注册苹果开发者账号需要使用Apple Developer app注册开发者账号&#xff0c;所以需要缴费才能创建ios证书了。 所以新政策出来后&#xff0c;…...

SQL-每日一题【1321. 餐馆营业额变化增长】

题目 表: Customer 你是餐馆的老板&#xff0c;现在你想分析一下可能的营业额变化增长&#xff08;每天至少有一位顾客&#xff09;。 计算以 7 天&#xff08;某日期 该日期前的 6 天&#xff09;为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。 结果按 …...

PyCharm PyQt5 开发环境搭建

环境 python&#xff1a;3.6.x PyCharm&#xff1a;PyCharm 2019.3.5 (Community Edition) 安装PyQT5 pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.douban.com/simple配置PyCharm PyQtUIC Program &#xff1a;D:\Pytho…...

2023-08-17 Untiy进阶 C#知识补充8——C#中的日期与时间

文章目录 一、名词概念二、DateTime三、TimeSpan 一、名词概念 &#xff08;一&#xff09;格里高利历 ​ 格里高利历一般指公元&#xff0c;即公历纪年法。目前我们所说公历&#xff0c;就是格里高利历。 ​ 比如 2022 年就是从公元元年开始算起的两千二十二年。 &#xf…...

SPSS--如何使用分层分析以及分层分析案例分享

分层分析&#xff1a;将资料按某个或某些需要控制的变量的不同分类进行分层&#xff0c;然后再估计暴露因子与某结局变量之间关系的一种资料分析方法。 分层分析的最重要的用途是评估和控制混杂因子所致的混杂偏倚。通过按混杂因子分层&#xff0c;可使每层内的两个比较组在所控…...

时序数据库influxdb笔记

官方资料 https://docs.influxdata.com/influxdb/v2.7/install/?tLinux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1&#xff09;下载 2&#xff09;解压 3&#xff09;添加账户&#xff08; adduser influx&#xff09; 4&#xff09;设置目录权限 5…...

8月18日上课内容 Haproxy搭建Web群集

本章结构 课程大纲 Haproxy调度算法 常见的web集群调度器 目前常见的Web集群调度器分为软件和硬件软件 通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5&#xff0c;也有很多人使用国内的一些产品&#xff0c;如梭子鱼、绿盟等 Haproxy应用分析 LVS在企业应用中…...

【高阶数据结构】红黑树详解

文章目录 前言1. 红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质1.3 已经学了AVL树&#xff0c;为啥还要学红黑树 2. 红黑树结构的定义3. 插入&#xff08;仅仅是插入过程&#xff09;4. 插入结点之后根据情况进行相应调整4.1 cur为红&#xff0c;p为红&#xff0c;g为黑…...

树莓牌4B安装Centos8

准备工作 镜像&#xff1a;https://people.centos.org/pgreco/CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4/ 烧制工具&#xff1a;https://www.raspberrypi.com/software/ 初始化 将上述工具烧制好的SD卡插入树莓派&#xff0c;通电。通过网线将树莓派与电脑连…...

SQL Monitor Crack,PostgreSQL监控的传入复制图表

SQL Monitor Crack,PostgreSQL监控的传入复制图表  现在&#xff0c;您可以在从Estate页面导出的Microsoft Excel报告的摘要标题中看到UTC偏移量。 添加了PostgreSQL监控的传入复制图表。 Microsoft PowerShell API现在支持将使用New-SqlMonitorWindowsHost和New-SqlMonitorin…...

软件测试技术之单元测试—工程师 Style 的测试方法(3)

如何设计单元测试&#xff1f; 单元测试设计方法 单元测试用例&#xff0c;和普通测试用例的设计&#xff0c;没有太多不同&#xff0c;常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类&…...

Ubuntu中安装OpenSSL

文章目录 一、前期准备1.1 压缩包下载1.2 gcc, make等的安装二、安装配置 一、前期准备 1.1 压缩包下载 在安装openssl之前&#xff0c;我们需要下载对应的压缩包 https://www.openssl.org/source/openssl-3.0.1.tar.gz 此压缩包可以选择win上下载后解压再复制到本地虚拟机中…...

CW4-6A-S、CW4-10A-S、CW4-20A-S、CW4-30A-S螺栓式滤波器

CW3L2-3A-S、CW3L2-6A-S、CW3L2-10A-S、CW3L2-20A-S CW3-3A-S、CW3-6A-S、CW3-10A-S、CW3-20A-S、CW3-30A-S CW4EL2-3A-S、CW4EL2-6A-S、CW4EL2-10A-SCW4EL2-20A-S、CW4EL2-30A-S CW4E-3A-S、CW4E-6A-S、CW4E-10A-S、CW4E-20A-S、CW4E-30A-S CW4E-40A-S(001)、CW4E-50A-S(0…...

课程项目设计--项目设计--宿舍管理系统--vue+springboot完成项目--项目从零开始

写在前面&#xff1a; 本文是从项目设计到完成开始写的&#xff0c;本来这个项目基础功能是做完了的&#xff0c;但是之前时间紧张想从头做起了。之前一周写前端后端累死了. 设计是关键&#xff0c;这一篇主讲设计。可能后面会有修改&#xff0c;本人实力有限,学习的也是别人的…...

【Linux】Linux下常用搜索命令及其常用选项小结

0x00 前言 版本信息&#xff1a;Ubuntu 18.04.6 LTS 最后更新日期&#xff1a;2023.8.18 0x01 Linux下常用搜索命令及其常用选项小结 1.find &#xff08;1&#xff09;find path -name filename &#xff1a;在指定目录path查找名为filename 文件&#xff0c;文件名可用*匹…...

web APIs-练习五

5秒自动关闭的广告&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"…...

MySQL——基础——外连接

一、外连接查询语法&#xff1a;(实际开发中,左外连接的使用频率要高于右外连接) 左外连接 SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...; 相当于查询表1(左表)的所有数据 包含 表1和表2交集部分的数据 右外连接 SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN …...

spring boot 实现Redisson分布式锁及其读写锁

分布式锁&#xff0c;就是控制分布式系统中不同进程共同访问同一共享资源的一种锁的实现。 1、引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.15.5</versio…...

java-IONIO

一、JAVA IO 1.1. 阻塞 IO 模型 最传统的一种 IO 模型&#xff0c;即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后&#xff0c;内 核会去查看数据是否就绪&#xff0c;如果没有就绪就会等待数据就绪&#xff0c;而用户线程就会处于阻塞状态&#xff0c;用户线…...

Python学习笔记_基础篇(十一)_socket编程

python 线程与进程简介 进程与线程的历史 我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心&#xff0c;它承担计算机的所有任务。 操作系统是运行在硬件之上的软件&#xff0c;是计算机的管理者&#xff0c;它负责资源的管理和分配、任务的调度。 程序是运行…...