某项目搭集群后,数据子节点向工作节点发送请求时,经常timeout,导致一些分钟内能完成的任务因为timeout重试,干到半个多小时,上游任务因超时宣告失败。
这个问题从去年一直到现在,提出过两三次了,都说解决了,但是最后还是会报。为了告诉那群**,确实是网络问题,经师兄介绍,我搞了这个工具测测。
安装
CentOS Linux系统: yum install qperf
安装。
使用
一个节点运行 qperf 作为服务端,另一个节点则运行 qperf 作为客户端,与服务端建立连接之后打流,获取带宽和延迟等数据。
-
服务端
不带参数: 直接运行qperf
命令启动服务端(默认监听端口为19765),等待客户端的连接
带参数:指定监听端口可以增加参数--listen_port xxx
,此时要保证客户端也要指定该端口号建立连接。 -
客户端
qperf SERVERNODE [OPTIONS] TESTS
SERVERNODE:服务端地址(不带端口哦,要是带端口,就用--listen_port xxx
)
TESTS:你想看的网络性能(qperf --help tests
)可以一条命令中带多个测试项,常用:
tcp_bw —— TCP流带宽
tcp_lat —— TCP流延迟