Ubuntu服务器基于python的家庭宽带连接数测试

时间:2025-10-5    作者:凝视    分类: 网络工具


🔧 测试核心思路与工具选择

送给工作上总有客户办理家庭宽带用于办公然后卡,或者想了解自家fttr有多么优秀的朋友,或者找出路由器的极限是多少。

简单来说,这就像一次"压力测试":你在阿里云ECS上搭建一个服务端(用来接受连接),然后在你家里的Windows电脑上运行客户端(用来主动建立大量连接到服务端),通过观察能成功建立并稳定保持的连接数量,来判断你的互联网线路能承受的连接数上限。建立TCP连接后,不进行大数据流量传输,只保持连接活跃状态。这样每个连接只消耗极少的带宽(主要是TCP握手和保活包)

  • 测试工具:选用 Python,可以作为一个非常方便的网络性能测试工具,它能很好地生成和控制大量的TCP连接,并且Windows和Linux都支持

  • 服务端:阿里云ECS(Ubuntu 22.04),选用ECS抢占式服务器,配置拉高一些,测完就释放

  • 客户端:你家里的Windows 11电脑,至少要一张百兆网卡,无线环境请近距离靠近路由器并5.8G连接

  • 路由器:家里有啥就用啥(它可能成为瓶颈)

🛠️ 测试环境准备

阿里云ECS(服务端)配置

  • 登录ECS:通过SSH远程登录到你的阿里云Ubuntu服务器
  • 安装python3:ubuntu 22.04 通常已预装
  • 安装必要的包:
sudo apt update
sudo apt install python3-pip -y
pip3 install --user asyncio
  • 上传python服务器连接数测试脚本:

    server.zip

    (文件下载后解压缩,通过FinalShell上传到你的阿里云ECS服务器)
  • 运行服务器(需要保持运行状态,这一步放到最后执行
python3 server.py
  • 防火墙设置:放开8888端口(默认,自行修改)

Windows客户端配置

安装Python:

下载python测试客户端脚本:

 

🚀 执行测试

1、在ECS启动服务端:(上SSH然后执行)

python3 server.py

2、在Windows运行客户端:(拿掉其他上网设备)

cmd窗口
python client.py <你的ECS公网IP> 8888 3000

3000为连接数,请根据你自身宽带运营商情况预估数值,不同地区不同运营商的家庭连接数均有区别,这个数字可以自行放大,例如10000,最终测试结果能看到你家真实数值

3、逐步增加连接数测试:


python client.py <你的ECS公网IP> 8888 5000
python client.py <你的ECS公网IP> 8888 8000
python client.py <你的ECS公网IP> 8888 11000

🔍 监控连接状态

在服务端,你可以实时监控:

# 查看当前连接数
ss -tn | grep :8888 | wc -l

注意:客户端测试的同时,FinalShell保持原窗口运行,再开新窗口登录这台ECS服务器,观察ECS服务器当前连接数

 

⚠️ 脚本优势

  1. 几乎零流量只建立TCP连接,不传输业务数据

  2. 精确控制可以精确控制要建立的连接数量

  3. 实时监控服务端实时显示连接数变化

  4. 稳定性测试保持连接一段时间,测试连接的稳定性