在使用netperf时,遇到netperf: send_omni: connect_data_socket failed: Connection refused报错
可能有以下原因:
- 服务器未运行或未监听指定端口:确保 netserver 服务已经启动,并且正在监听客户端尝试连接的端口。
- 防火墙设置阻止了连接:关闭防火墙。
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #设置开机禁用防火墙
- 网络问题:使用 ping 或 telnet 命令测试网络连通性,确保客户端可以到达服务器。
- 端口冲突:检查服务器上是否有其他服务占用了客户端尝试连接的端口。或者直接换一个指定端口进行netperf。
- 服务器配置错误:检查服务器的配置文件,确保没有错误配置导致无法接受新的连接。
- 服务器资源限制:确认服务器没有达到最大并发连接数限制,并且服务器的资源(如CPU、内存)没有饱和。
- 服务未正确绑定到端口:在某些情况下,服务可能没有正确绑定到端口,导致客户端无法建立连接。
- 服务进程已停止:服务进程可能已经意外停止,需要重新启动服务。
- 两端安装的netperf版本不一致
- netperf问题,重新安装netperf
安装步骤如下:
- 下载源码
wget https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.tar.gz
- 解压
tar -zxvf netperf-2.7.0.tar.gz #解压 cd netperf-netperf-2.7.0/ #进入目录
-
执行 编译
./configure #执行文件 make && make install #编译
-
查看版本
netperf -V
一般来说到这里就结束了,但是如果你的CPU架构为aarch64也就是arm结构,可能会不支持,会报configure: error: cannot guess build type; you must specify one 。
需要在config.sub文件中添加aarch64架构。具体操作如下:
(1)进入config.sub文件
vi config.sub
(2) 找到如下部分并加上 aarch64
(3) 找到如下部分并加上 aarch64-*
(4)执行
./configure --host=aarch64 --build=aarch64
(5)编译
make && make install
(6)再检查一下版本完成
netperf -V