在编写tcp服务的时候经常需要对服务的基础性能进行一个压力测试,虽然网上这些工具有很多,但具备使用方便和高强度的测试工具则不多。为了方便这方面的高强度压测所以在beetlex的基础扩展这样一个工具。
安装
可以访问https://github.com/beetlex-io/TCPBenchmarks 下载最新版本工作,工具可以运行在linux和windows系统,安装完成后通过浏览器访问相关服务进行操作。
操作
工具提供的操作很简单,只需要简单地添加服务和发送的消息即可对服务进行一个压力测试。具体操作界面如下:
测试方式
工具提供两种测试方式,分别是:请求响应和间隔两种模式。前者是工具收到响应后马上进行下一次数据发送;后者则是每隔指定时间向服务端发送数据。 本地IP选项主要告诉工具由那个IP发起请求,如果测试的连接太多单个IP的端口数满足不了测试的情况下,请根据连接数量来选择多个IP地址。测试工具占用的端口是10000-60000。
高吞吐压测
如果服务端在局域网想测试高吞吐交互则可以选用请求响应模式,这种模式可以具备高强度的压测效果;注意这种测试模式不适合采用大量在连接,只需要适当的连接数量即可。以下用200连接对2K数据进行一个高吞吐测试。
通过测试结果可以看到测的IO读写量和相应的总带宽数。
高连接数压测
有些情况只观察大量在线的情况,不太关注极限吞吐的能力。这个时候就设置较大的连接数,测试模式选择间隔,然后设置间隔发送的时间。接下来进行一个10W在线尝试每2秒发送一个4K数据包的情况。
使用视频
【BeetleX通讯框架代码详解】
【WebApi示例扩展】
BeetleX
开源跨平台通讯框架(支持TLS)
轻松实现高性能:tcp、http、websocket、redis、rpc和网关等服务应用
https://beetlex.io
如果你想了解某方面的知识或文章可以把想法发送到
henryfan@msn.com|admin@beetlex.io