基于TSUNG对MQTT进行压力测试-测试结果

mqtt压测-并发上报数据.jmx Jemeter-mqtt连接上报数据压测脚本 立即下载

基于TSUNG对MQTT进行压力测试-测试结果

一、TSUNG压测前概念温习

https://www.cnblogs.com/lingyejun/p/7898873.html

二、TSUNG在服务器上的安装步骤 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Tsung压测时总连接数 = 本机可用IP地址数量×本机可用端口的数量×远程服务器可访问IP地址数量×远程服务器可访问端口数量。
yum install -y gcc gcc-c++ make libX11 xauth
yum install -y cairo-devel pango-devel freetype-devel gd-devel
yum install -y ncurses-devel openssl-devel unixODBC-devel wxWidgets-devel wxGTK3-docs mesa-libGL-devel
 
wget http://erlang.org/download/otp_src_20.0.tar.gz
wget https://www.cpan.org/modules/by-module/Template/Template-Toolkit-2.26.tar.gz
wget http://tsung.erlang-projects.org/dist/tsung-1.7.0.tar.gz
 
 
tar zxf otp_src_20.0.tar.gz
cd otp_src_20.0
./configure --prefix=/usr/local/erlang --without-javac
make -j 2
make install
 
 
tar zxf gnuplot-4.4.2.tar.gz
cd gnuplot-4.4.2
./configure
make -j 2
make install
 
export PATH=$PATH:/usr/local/erlang/bin/
tar zxf tsung-1.7.0.tar.gz
cd tsung-1.7.0
./configure --prefix=/usr/local/tsung

三、TSUNG的测试脚本

复制代码
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="debug" version="1.0">
    <clients>
        <client host="bogon" maxusers="100000" cpu="1">
      <ip value="192.168.1.152"></ip>
      <ip value="192.168.1.153"></ip>
      <ip value="192.168.1.154"></ip>
      <ip value="192.168.1.155"></ip>
    </client>
    </clients>

    <servers>
        <server host="192.168.1.110" port="61613" type="tcp" />
    </servers>

    <load>
        <user session="mqtt_subscriber" start_time="30" unit="second"></user>
        <arrivalphase phase="1" duration="60" unit="second">
            <users maxnumber="100000" arrivalrate="5000" unit="second"/>
        </arrivalphase>
    </load>

    <sessions>
        <session name="mqtt_publisher" probability="100" type="ts_mqtt">
            <request>
                <mqtt type="connect" clean_start="true" keepalive="10" username="admin" password="password" will_topic="phihome/test" will_qos="0" will_msg="will_msg" will_retain="false"></mqtt>
            </request>

            <for from="1" to="10" incr="1" var="loops">
                <request subst="true">
                    <mqtt type="publish" topic="phihome/test" qos="1" retained="true">test_message</mqtt>
                </request>
            </for>

            <request>
                <mqtt type="disconnect"></mqtt>
            </request>
        </session>
        <session name="mqtt_subscriber" probability="0" type="ts_mqtt">
            <request>
                <mqtt type="connect" clean_start="true" keepalive="10"></mqtt>
            </request>

            <request subst="true">
                <mqtt type="subscribe" topic="test_topic" qos="1"></mqtt>
            </request>

            <request>
                <!-- wait for 60s -->
                <mqtt type="waitForMessages" timeout="60"></mqtt>
            </request>

            <request subst="true">
                <mqtt type="unsubscribe" topic="test_topic"></mqtt>
            </request>

            <request>
                <mqtt type="disconnect"></mqtt>
            </request>
        </session>
    </sessions>
</tsung>
复制代码

四、测试结果总览

 

 

硬件配置

tsung压测客户端配置:i7 8核 32G

mqtt服务器端:i5 4核 6G 128SSD

测试场景

最大连接数

峰值时客户端情况

峰值时服务器端情况

c4cpu+s5g+4gmqtt+nolog

197626

cpu充足,内存充足。

cpu充足,内存有剩余。

c6cpu+s6g+4gmqtt+nolog

281477

cpu充足,内存充足。

cpu充足,内存有剩余。

c6cpu+s6g+2gmqtt+log

287524

cpu充足,内存充足。

cpu充足,内存有剩余。

c6cpu+s6g+4gmqtt+log

283365

cpu充足,内存充足。

cpu充足,内存有剩余。

 

上图测试场景术语介绍:

c4cpu+s5g+4gmqtt+nolog

压测客户端使用了4个cpu进行压测,mqtt服务器端为5g内存,进程启动内存为4g,启动时关闭了日志输出。

c6cpu+s6g+4gmqtt+nolog

压测客户端使用了6个cpu进行压测,mqtt服务器端为6g内存,进程启动内存为4g,启动时关闭了日志输出。

c6cpu+s6g+2gmqtt+log

压测客户端使用了6个cpu进行压测,mqtt服务器端为6g内存,进程启动内存为2g,启动时开启了日志输出。

c6cpu+s6g+4gmqtt+log

压测客户端使用了6个cpu进行压测,mqtt服务器端为6g内存,进程启动内存为4g,启动时开启了日志输出。

 

注:单台Tsung压测官网纯净版mosquitto(单台Broker),峰值时连接数为197626,后续有追加了另外一台tsung,一共两台机器一起压。

 

单台最大峰值时的连接数截图:

两台最大峰值时的连接数截图:

ST03N 里看不到 SE38 / SA38?别急,这不是没记录,而是被换了名字 摘要:SAP系统中SE38/SA38事务码在ST03N统计中可能"隐身",因其对话步骤被归集到对应的程序名(如SE38→RSABAPPROGRAM)。ST03N侧重工作负载聚合统计,而STAD提供短期明细记录。正确排查方法是:在ST03N中搜索程序名而非事务码,再通过STAD验证具体使用情况。这一现象在权限整改和审计中易造成误判,建议将程序名纳入常规监控,并区分ST03N(趋势分析)与STAD(事实校验)的不同用途。 阅读详情

相关推荐

STM32F103 串口DMA + 空闲中断 实现不定长数据收发

文章目录1. 空闲中断1.1 uart_dma.c1.2 uart_dma.h1.3 main.c1.4 stm32f10x_it.c1.5 效果演示1.6 知识补充1.6.1 外设的基地址     DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU

夏夜晚风_的博客 3万+

MQTT性能压测实践(一)MQTT Broker知识点总结

MQTT性能压测需要了解的必要前提,了解MQTT的架构设计,才能知彼知己、百战不殆

tech_otaku0512的博客 4055

用Python+ArcGIS分析厦门共享单车数据:5分钟搞定订单时长与距离分布的可视化

本文详细介绍了如何利用Python和ArcGIS Pro 3.x快速分析厦门共享单车数据,实现订单时长与距离分布的可视化。通过数据清洗、预处理和高级可视化技巧,揭示用户行为特征,为运营优化提供数据支持。文章还提供了环境配置、代码示例和业务洞察,帮助开发者高效完成数据分析任务。

weixin_28327051的博客 342

MQTT SERVER 性能测试报告

MQTT SERVER 性能测试报告

记事本 1万+

【python3.7】解决报错 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++

解决pip安装py7zr遇到的报错问题。

水w的博客 3944

Score Matching实战:如何用Python实现数据分布梯度估计(附完整代码)

本文详细介绍了Score Matching技术在数据分布梯度估计中的应用,通过Python实现从基础概念到核心算法的完整流程。文章包含环境准备、网络架构设计、加噪版本实现以及训练流程,帮助开发者快速掌握这一绕过密度估计直接学习得分函数的创新方法。附带的完整代码和可视化分析使理论与实践紧密结合。

weixin_29168813的博客 374

全球首个 MQTT 压测服务 XMeter Cloud 上线,给各大 IoT 物联网平台跑个分

企业在物联网、车联网、工业互联网等关键业务场景,都需要进行全面的性能测试验证,以保证和提升整个物联网系统的可用性和可靠性。近日,EMQ 正式在全球市场推出了最简单、快速的 MQTT 负载和场景测试云服务——XMeter Cloud,用户无需部署即可进行 MQTT 测试,以更低的测试成本轻松打造具有竞争力的可靠物联网平台与应用。官网地址:https://www.emqx.com/zh/product...

1176

一文看懂—Agent多智能体协作

多智能体协作已成为AI应对复杂任务的关键范式,通过模拟人类团队分工,实现专业化、高效化和纠错能力。本文系统阐述了多智能体协作的核心概念(智能体分工、工作流编排、工具使用)、与产品规划的关联(任务拆解、错误处理、组织架构设计),以及典型应用场景(报告生成、客服工单、学习规划)。同时剖析了常见陷阱(循环卡死、信息失真、成本失控)及解决方案,并提供了实用工具模板(角色定义卡、工作流画布、成本仪表盘)。最后通过市场竞品分析和旅行规划两个实战案例,展示了多智能体协作的实际价值。该技术正推动AI从单点智能迈向系统智能,

lee006006的博客 1036

mqtt调试工具_用云压力测试工具,如何完成一次测试任务

Cloud Performance Test 云压力测试平台(以下简称:CPT)可以提供一站式全链路云压力测试服务,通过分布式压力负载机,快速搭建系统高并发运行场景,按需模拟千万级用户实时访问,并结合系统资源状态,评估系统承载能力,快速定位系统性能瓶颈。而测试任务是云压力测试平台的重要组成部分,脚本调试成功后,用户可以在测试任务页面选择压测脚本、编辑用户曲线、选择压测节点,保存后可以执行任务查看压...

weixin_39822493的博客 336

TortoiseSVN的安装与使用

TortoiseSVN的安装与应用1、安装1.1、下载TortoiseSVN    点击下载TortoiseSvn1.2、下载汉化包。上面的页面中,找到Chinese, simplified汉化包,点击32位或者64位的Setup,下载汉化包。1.3、安装TortoiseSVN。在选择安装路径页面时要记得勾选“command line client tools”,默认不是勾选的。这里不勾选的话在I...

qq_28566071的博客 4万+

微信小程序|基于小程序+云开发制作一个租房小程序

经济发展的同时伴随着大批人群的流动,租房需求一直是持久不衰的话题,如何租好房,好租房,跟随此文一起制作一个租房小程序,让租房不再困难。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 4931

基于Locust实现MQTT协议服务的压测脚本

业务背景大概介绍一下,就是按照国标规定,车辆需要上传一些指定的数据到ZF的指定平台,同时车辆也会把数据传到企业云端服务上,于是乎就产生了一些性能需求。目前我们只是先简单的进行了一个性能场景的测试,就是评估目前服务是否能够支持,预期的最大同时在线车辆上传数据。经过评估,在线车辆数据按照预期的10倍来进行的,并且后面增加持续运行12h查看服务链路的稳定性。本篇并不是一个严谨的性能测试过程结果分享,主要是分享下关于mqtt协议服务的压测脚本的编写。

2301_79535544的博客 1203

【网络协议】【TSN】精讲TSN工作原理!图解超赞超详细!!!

TSN有一个服务等级(class of service,CoS)的概念。对TSN网络而言,不同优先级的服务对应图3中的PCP码。3位PCP码定义了0(最低)~7(最高)这8个优先级,传输类型分别对应基础、最大努力、卓越努力、严苛应用、延时和抖动小于100 ms的视频、延时和抖动小于10 ms的音频、内部网络控制、网络控制。其会对网络场景进行不同的匹配,是后续调度、配置设计中会考虑到的数据流调度因素。

风云说通信 2634

基于TSUNG对MQTT进行压力测试-基础概念温习

基于TSUNG对MQTT进行压力测试-基础概念温习[单台Broker压测结果]请移步另一篇博客:http://www.cnblogs.com/lingyejun/p/7941271.html一、TCP报头部中的SYN、FIN、ACK:ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1。SYN(SYNchronization) : 在连接建立时用来同步序...

大JAVA解决方案 646

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

转MQTT压力测试之Tsung的使用

转自:http://www.cnblogs.com/lingyejun/p/7941271.html nTsung测试工具的基本测试命令为 Tsung -f  ~/.tsung/mqtt.xml -l &lt;日志保存路径&gt; start mqtt.xml具体如下(在/usr/share/doc/tsung/examples路径下可查找到): 官网文档: http://tsung.erlang...

weixin_33862514的博客 337

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Tsung 使用指南

--- ## 项目介绍 Tsung 是一个开源的分布式负载测试工具,它能够模拟成千上万个用户并发地对 Web 服务器、数据库、LDAP 等进行压力测试。Tsung 支持多种协议包括 HTTP/HTTPS、Websocket、MQTT、XMPP 等,使得它成为了一个非常灵活且强大的性能测试解决方案。该项目由 ProcessOne 开发并维护,它的一大特色是其基于 XML 的配置文件,这使得设置复

gitblog_00119的博客 1180

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python locust mqtt_Web服务器压力测试要用什么工具

web服务器性能如何,有各种各样的测试方法。要了解自己的服务器的极限,就必须要做压力测试,下面我们来介绍几款web服务器压力测试工具。1、webbenchwebbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。下载之后输入命令安装:#tar zxvf webbench-1.5.tar.gz#cd webbench-1.5#make &&...

weixin_39795116的博客 174

Web服务器压力测试工具?

web服务器性能如何,有各种各样的测试方法。要了解自己的服务器的极限,就必须要做压力测试,下面我们来介绍几款web服务器压力测试工具。 1、webbench webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。下载之后输入命令安装: #tar zxvf webbench-1.5.tar.gz #cd webbench-1.5 #make && make install 安装好之后会在当前目录生成webbench可执行文件,用法:w

37度2 1311

python web 服务器压力测试_十款Web服务器性能压力测试工具

一、http_load该程序非常小,解压缩后小于100Khttp_load,并行重用以测试网络服务器的吞吐量和负载。但是与大多数压力测试工具不同,它可以作为一个单独的过程运行,并且通常不会杀死客户端。您也可以测试HTTPS类网站请求。二、webbenchwebbench是Linux下的网站压力测试工具,可以模拟多达30,000个并发连接来测试网站的负载能力。三、apache bench(主要是用来...

weixin_39840153的博客 509

【Tsung学习】1.了解软件功能和运行环境

1.【了解软件功能和运行环境】 Tsung是指开源的、多协议的、分布式的压力测试工具。 Tsung的设计目的是模拟真实用户测试基于IP的服务器程序的伸缩性和性能,可以分步在多个客户机,并能够模拟成千上万的虚拟用户数并发。 根据erlang语言开发。   Tsung的主要特点: (1)高性能:负载可以分布在一个集群客户机上; (2)拆建机制支持多协议:目前支持HTTP、WebDAV、S

Abby同学思考的地方 739
上一篇: 基于TSUNG对MQTT进行压力测试-基础概念温习
下一篇: Mqtt精髓系列之心跳机制
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值