其实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-8
和hex
。
在编写消息的时候可以进行测试,测试会返回当前内容对应的hex
和utf-8
.
性能测试
对于性能测试来说,需要考虑自己对那些指标的要求。如果只是想压测请求响应量那应该用适当的连接数,并选择Response
模式。如果需要模拟几十上百万的大量连接建议使用Interval
毕竟单机硬件有很,无法同时对这么多的连接进行并发处理。
工具会提供一个详细的测试结果,主要包括一些并发指标和请求响应延时的分布。在下面还提供两个走势图,分别是socket的读写io并发量和相应TCP读写的数据量。
大量连接测试
一个IP
最多只能使用6万多个端口,就是说一个IP最多只能创建6万多个client;工具只会使用10000-60000端口的范围,如果需要创建超过5万个client就必须在当前系统添加多个IP
.而这些IP
地址都必须能访问测试的服务。以下是创建1百万连接的测试情况