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

相关文章

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT