热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

测试tcp连接数工具_Coolpy7与Emqtt基准性能测试对比

本测试由《深圳市**智能科技股份有限公司》技术员:入云鲲作为第三方使用研究提供用例及数据使用Coolpy7_benchmark测试客户端测试一百万级连接#下载测试工具

本测试由《深圳市**智能科技股份有限公司》技术员:入云鲲 作为第三方使用研究提供用例及数据

使用Coolpy7_benchmark测试客户端测试一百万级连接

# 下载测试工具

git clone https://github.com/Coolpy7/coolpy7_benchmark.git

# 进入bin文件夹

cd bin

# 启动Coolpy7静连接测试工具

# 参数url: Coolpy7服务端所在服务器ip地址,默认端口号:1883

# 参数workers: 需要创建的客户端连接数量

# 参数cid: mqtt连接客户端(ClientId)前缀,工具会自动以cid+WorkersId作为连接clientid值

# 参数topic: 连接成功后订阅的topic主题(支持以%i取得workersid:例: mytopic%i)不进行订阅测试填写null字符串

# 参数keepalive: 连接ping时间间隔

# 参数clear: mqtt客户端连接的clearsession属性,当设置为true时重连时不能再次订阅qos0以上的主题

# 以下例示建立连接到192.168.200.238所在的Coolpy7服务器端,并创建400万个MQTT客户端连接

./go_build_cp7_bench_sub_go_linux -workers=60000 -cid=ruyun -topic=null -qos=0 -url=tcp://192.168.4.97:1883 -keepalive=60000s -clear=true

Coopy7号称32G服务器内存,即可达到千万并发,以此为依据进行测试:

c894b7b0e3ab0ee3c4fe0747e1945b20.png

EMQ号称8核32G内存,即可达到130万并发连接,以此为依据进行测试:

8fc7b1dc901afc4bebf4f4084f35761b.png

EMQ测试依据二:

f571446eba0a0f2ec9b08ede7f187d68.png

测试过程实录

简述:分别测试Coolpy、EMQ在服务器处理器为4核、内存大小分别在1G、2G、4G、6G下,所支持的最大并发连接数。

测试coolpy7

在服务器内存为1G条件下进行,测试

4d81763f2b64d1b7b0fdfaf8dbe72bef.png
421e75674e4a7d17873f0aede3130e34.png

测试结果1G内存,支持5.8w并发连接。

在服务器内存为2G条件下进行,测试

94ace4c812e0ec9487e0ec28cbaf048d.png
e6ec826559c0f50086c7b0bf3172e9bf.png
cfdb261dd8f48fa353a2dad77760c166.png
76750c5c3b4fd151f19f4ebb586612d8.png

测试结果2G内存,支持10.7w并发连接。

在服务器内存为4G条件下进行,测试

6a501297657c10e1baac8a64e66c4b49.png
b8002620d4db1aff17882677d5e70e44.png
8c7c3c60b06c6a730e0b01dc169b1eba.png
57e1fa84480a769380ce108af2ecbb74.png

测试结果4G内存,支持26w并发连接。

在服务器内存为6G条件下进行,测试

add42104d526ca434d7f879f8f6ee308.png
94654d08fc8a58010f91a90d394d9e65.png
5b539005eba0938ee2904b27e95e1f28.png
e6539efe48683a394910b51815956726.png

测试结果6G内存,支持40.1w并发连接

在40.1w连接下,使用MQTT客户端测试,coopy7的通信能力:

d087e659b3aa90dffb1588de3db4fa17.png

测试EMQ

1)在服务器内存为1G条件下进行,测试

e51572d9a2883166ae286779c06fbf06.png

测试结果1G内存,支持7.0097w并发连接。

2)在服务器内存为2G条件下进行,测试

a3da0692092f0e0140d395a6120734ff.png

测试结果2G内存,支持14.2294w并发连接。

3)在服务器内存为4G条件下进行,测试

f70ff38db7d475e884d16f9c943a493d.png

测试结果4G内存,支持20.3173w并发连接。

4)在服务器内存为6G条件下进行,测试

17dfe8a5bbc714ebbca16f11eedd2365.png

测试结果6G内存,支持23.9017w并发连接。

测试结果汇总与分析

f66928b2db21c10fa5afe21bcc9f3d73.png

备注:由于测试过程中,所用电脑的内存为16G,并测试要求要MQTT服务器的内存要小于客户端连接的总内存,故最大测试MQTT服务器内存只能为6G

结论:随着MQTT内存的增大,支持的连接数Coolpy7优于EMQ差距越来越明显。

2ded8232352ac43ad074f14895906a4c.png



推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
author-avatar
手机用户2502910165
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有