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

相关文章

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Navicat连接Mysql8.0.11出现1251错误的解决方案

《Navicat连接Mysql8.0.11出现1251错误的解决方案》在重装电脑并安装最新版MySQL后,Navicat和Sqlyog连接MySQL时遇到的1251和2058错误,通过将MySQL用户... 目录Navicat连接mysql8.0.11出现1251错误原因分析解决问题方法有两种总结Navic

Python连接Spark的7种方法大全

《Python连接Spark的7种方法大全》ApacheSpark是一个强大的分布式计算框架,广泛用于大规模数据处理,通过PySpark,Python开发者能够无缝接入Spark生态系统,本文给大家介... 目录第一章:python与Spark集成概述PySpark 的核心优势基本集成配置步骤启动一个简单的

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏