avalanche 少量tcp长连接持续构建HTTP请求测试

2023-12-15 07:20

本文主要是介绍avalanche 少量tcp长连接持续构建HTTP请求测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近测试项目,测试要求使用少量tcp长连接连接,持续打HTTP请求,到测试结束。

分别用思博伦测试仪和supernova测试仪进行实现。

思博伦测试仪实现

测试仪基本运行流程:Loads配置任何形式bandwidth,connection,Transaction,最后都会换算为simuser进行执行。这个simuser去执行指定的action内容,根据服务端返回内容来计数成功或失败,最后断开连接完成一个执行流程。

常规的cps,tps测试是一个tcp里面包含1个,10个或者更多请求,通常非常快执行完一个请求。且同时有几千到几万十几万不等的tcp连接新建和拆除。

从未试过少量tcp长连接持续发HTTP请求直到结束。

尝试打售后电话,给的方案未能成功构造出所需的流量模型。

通过官网进行搜索,阅读帮助文档,尝试出一种基本可行的测试方案。

拿一个tcp连接每秒tps 1000举例,整体思路就是:loads配置1个simuser,当这个simuser执行action请求时,给这个action设定一个时间,这个时间内连接不断开(这个时间应等于Ramp up + Steady State时间)。这个时间内使用循环持续发送HTTP请求。

这个循环的HTTP请求以100ms为单位,100ms发送100个请求。如何控制100ms发送100个请求呢,我的操作方式是发送了100个请求,think 80ms(发送100个http请求大概用了十几ms)。

ps:以100ms为单位主要是方便控制每秒tps数量,单位过大可能不方便调试。

整体action配置如下:

LOOP HTTP_TIME START TIME=70000
LOOP HTTP_BD START COUNT=10
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
1 post http://192.168.2.253/1.html <POST_FILE="add_small_2k" CONTENT_TYPE="application/json">
LOOP HTTP_BD STOP
Think <80>
LOOP HTTP_TIME STOP

思路是灵活的,这是一种配置方法,TIME循环固定,中间HTTP请求可以根据实际情况进行配置。

除了action配置,其他有些地方也需要同步修改,不然会被限制阻断
在这里插入图片描述

在这里插入图片描述

supernova测试仪配置方法

supernova测试仪配置少量tcp持续发送HTTP请求,使用HTTP请求服务用例就可以了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bz00UUF-1668736284857)(http://172.24.4.2:81/server/index.php?s=/api/attachment/visitFile/sign/cbd71f8cf24a9c5260b3f5ab720abeff)]

配置少量参数即可运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-61ZUasAP-1668736284857)(http://172.24.4.2:81/server/index.php?s=/api/attachment/visitFile/sign/1de77a25ada8757fed15070f19fcce74)]

这篇关于avalanche 少量tcp长连接持续构建HTTP请求测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/495600

相关文章

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys