使用BeetleX的TcpBenchmark工具进行百万设备模拟测试

Posted smark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用BeetleX的TcpBenchmark工具进行百万设备模拟测试相关的知识,希望对你有一定的参考价值。

其实TCP测试的工具有很多,那BeetleX工具所提供的特点又是什么呢?如果你需数十万的请求或模拟上百万的设备连接,那这个工具相信可以满足你的需要!工具是基于BeetleX的基础功能扩展,支持多IP绑定可以轻松实现上百万的client模拟;在性能上工具可以在一台4核的PC可达到数十万的Socket读写效能足以满足模拟大并发请求处理的需求。以下介绍这个工具的部署和使用

下载

工具下载地址: https://github.com/IKende/TCPBenchmarks/blob/master/TCPBenchmarks0.6.zip

部署

工作的运行环境是.net core 2.1或更高版本

  • linux 运行
dotnet TCPBenchmarks.dll 
or 
./run.sh
  • windows 运行
dotnet TCPBenchmarks.dll 
or 
run.bat

可以通过输出运行的日志查看运行情况

技术图片

 

访问

运行后可以通过浏览器访问打开工具,访问地址http://host:9090;工具默认是打开9090端口。如果需要调整端口可以通过修改httpconfig.json来设置

    "Host": "",
    "Port": 9090,

运行后工具界面如下:

技术图片

添加消息

工具在测试服务时必须增加需发发送的消息,消息以字符的方式来描述,格式有两种分别是utf-8hex

技术图片

在编写消息的时候可以进行测试,测试会返回当前内容对应的hexutf-8.

性能测试

对于性能测试来说,需要考虑自己对那些指标的要求。如果只是想压测请求响应量那应该用适当的连接数,并选择Response模式。如果需要模拟几十上百万的大量连接建议使用Interval毕竟单机硬件有很,无法同时对这么多的连接进行并发处理。

技术图片

 

工具会提供一个详细的测试结果,主要包括一些并发指标和请求响应延时的分布。在下面还提供两个走势图,分别是socket的读写io并发量和相应TCP读写的数据量。

大量连接测试

一个IP最多只能使用6万多个端口,就是说一个IP最多只能创建6万多个client;工具只会使用10000-60000端口的范围,如果需要创建超过5万个client就必须在当前系统添加多个IP.而这些IP地址都必须能访问测试的服务。以下是创建1百万连接的测试情况

技术图片

 

以上是关于使用BeetleX的TcpBenchmark工具进行百万设备模拟测试的主要内容,如果未能解决你的问题,请参考以下文章

Beetlex官网迁移完成

BeetleX.WebFamily文件图片管理集成

BeetleX进程服务管理组件应用

BeetleX之HttpClusterApi应用详解

BeetleX之XRPC远程委托调用

BeetleX实现MessagePack和Protobuf消息控制器调用websocket服务详解