Administrator
发布于 2025-11-25 / 6 阅读
0
0

购买的VPS作为翻墙工具为何网络跑不起来

VPS带宽测试

环境说明

本次测试基于下面的环境:

  • 2核2G、200Mbps带宽的云服务器

  • 三网精品线路,电信CN2 GIA,移动CMIN2,联通9929

  • 操作系统版本:Ubuntu 22.04

  • 内核版本:5.15.0-135-generic

测试方法

生成测试文件

以root用户登录进去之后,工作目录就是在“/root”下面,后面没有明确指定路径的情况下,都是以这个目录做参考。

# 生成一个500MB的测试文件
dd if=/dev/urandom of=./testfile.bin bs=1M count=500

iPerf测试

iPerf 是一个网络吞吐量测试软件,可以用来测量网络速度和质量。由于ECS在美国区域,而美国正好有开放的iPerf测速节点,可以借用这类节点查看ECS本身的带宽是否能够满载。首先安装iperf3工具之后测试TCP上行速度(也就是ECS往测速节点发送大量测试数据),实测结果如下:

apt install iperf3 -y
iperf3 -c speedtest.lax12.us.leaseweb.net -t 10 -p 5210 -b 200M
​
# 实测上行数据如下
root@f1a9c051-ad56-47fe-9def-9e1195d79424:~# iperf3 -c speedtest.lax12.us.leaseweb.net -p 5210 -b 200M
Connecting to host speedtest.lax12.us.leaseweb.net, port 5210
[  5] local 38.146.29.241 port 55268 connected to 23.105.41.222 port 5210
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  23.9 MBytes   200 Mbits/sec    0    495 KBytes       
[  5]   1.00-2.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   2.00-3.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   3.00-4.00   sec  23.8 MBytes   199 Mbits/sec    0    570 KBytes       
[  5]   4.00-5.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   5.00-6.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   6.00-7.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   7.00-8.00   sec  23.8 MBytes   199 Mbits/sec    0    570 KBytes       
[  5]   8.00-9.00   sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
[  5]   9.00-10.00  sec  23.9 MBytes   200 Mbits/sec    0    570 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   238 MBytes   200 Mbits/sec    0             sender
[  5]   0.00-10.04  sec   238 MBytes   199 Mbits/sec                  receiver
​
iperf Done.

然后使用测试ECS下行速度(也就是ECS从测速节点下载大量测试数据),实测结果如下:

root@f1a9c051-ad56-47fe-9def-9e1195d79424:~# iperf3 -c speedtest.lax12.us.leaseweb.net -p 5210 -b 200M -R
Connecting to host speedtest.lax12.us.leaseweb.net, port 5210
Reverse mode, remote host speedtest.lax12.us.leaseweb.net is sending
[  5] local 38.146.29.241 port 56780 connected to 23.105.41.222 port 5210
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  24.8 MBytes   208 Mbits/sec                  
[  5]   1.00-2.00   sec  23.8 MBytes   199 Mbits/sec                  
[  5]   2.00-3.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   3.00-4.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   4.00-5.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   5.00-6.00   sec  23.8 MBytes   199 Mbits/sec                  
[  5]   6.00-7.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   7.00-8.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   8.00-9.00   sec  23.9 MBytes   200 Mbits/sec                  
[  5]   9.00-10.00  sec  23.8 MBytes   199 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.04  sec   239 MBytes   200 Mbits/sec   21             sender
[  5]   0.00-10.00  sec   239 MBytes   201 Mbits/sec                  receiver
​
iperf Done.

从测试结果来看,在没有经过跨洋线路的情况下,机器网络带宽正常,能够跑满机器带宽。后续再测试跨洋线路的情况。

TCP下载测试

iPerf工具同样能够测试跨洋线路的情况,这里先使用更加贴近使用场景的方式测试跨洋线路的网速。即在ECS中生成一个大体积测试文件之后开启一个HTTP服务器,然后使用wget或者浏览器进行下载测试,看看能否跑满机器带宽。在测试线路之前,需要在ECS的安全组中将工具使用端口的端口放行,由于8000端口属于默认打开的,这里测试使用就使用8000端口。先在ECS中生成测试文件并开启HTTP服务。

cd ~
# ubuntu 22.04中自带python3,因此可以直接开启一个简单的HTTP服务
nohup python3 -m http.server &
# 确认已经监听了8000端口
ss -tln

为了方便监控ECS的网速,ECS上安装一个查看网卡流量的命令行工具。

apt install nload -y
# 运行nload,界面上Incoming表示ECS的下行流量,Outgoing表示ECS的上行流量。
# 本ECS的网卡名称叫ens3
nload ens3

国内机器测试下载速度时,可以使用wget、scp、浏览器下载等多种方式。注意:由于国际线路延时较高,通常需要启多个下载任务才能够跑满带宽。

方法1:在终端中使用wget启用多个下载任务

wget http://38.146.29.241:8000/testfile.bin

当前使用的Linux客户端机器,先启用一个任务看看网速能够到多少。

user@almalinux:~/temp$ wget http://38.146.29.241:8000/testfile.bin
--2025-11-24 17:31:11--  http://38.146.29.241:8000/testfile.bin
正在连接 38.146.29.241:8000... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:524288000 (500M) [application/octet-stream]
正在保存至: “testfile.bin”
​
testfile.bin               21%[=======>                              ] 106.81M  14.3MB/s  剩余 32s 

单个任务下载速度只能够到14MB/s左右的速度,因此启动三个任务能够达到满带宽。下面是nload的显示结果:

Device ens3 [38.146.29.241] (1/1):
========================================================================================================
Incoming:
​
​
​
​
​
        .                #.           ..             #
      | #          #  .  ##.|  |   .  ##   .  ||    .#. ..    .   .#.
||.|.|###||| #  # .## # |##### ##.##. ##||##|.##.## ###.## . .##| ###  Curr: 4.68 MBit/s
############|######################################.########|########  Avg: 830.50 kBit/s
#####################################################################  Min: 35.66 kBit/s
#####################################################################  Max: 8.78 MBit/s
#####################################################################  Ttl: 444.74 MByte
Outgoing:
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################  Curr: 217.53 MBit/s
#####################################################################  Avg: 35.57 MBit/s
#####################################################################  Min: 6.02 kBit/s
#####################################################################  Max: 342.81 MBit/s
#####################################################################  Ttl: 1.96 GByte

方法2:在Linux终端中启用多个拷贝任务,同样使用三个任务能够达到满带宽。可以参考前面的方法使用nload查看ECS上行速度。

scp root@38.146.29.241:/root/testfile.bin ./

方法3:在浏览器地址栏中直接输入全路径,三个任务能够达到满带宽。可以参考前面的方法使用nload查看ECS上行速度。

# 测试文件全路径,将全路径输入到浏览器地址栏
http://38.146.29.241:8000/testfile.bin

TCP上传测试

由于python3的简单HTTP服务器不支持从客户端接收文件,因此测试上传速度的时候,我们使用scp传输文件即可。本地机器生成测试文件,并开启多个传输任务(类似下载速度测试方法)。

dd if=/dev/urandom of=./testupload bs=1M count=500

由于本地机器的线路,上传速度远远小于下行速度,只能够接近跑满本地机器的上行带宽速度。

Device ens3 [38.146.29.241] (1/1):
========================================================================================================
Incoming:
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################
#####################################################################  Curr: 162.68 MBit/s
#####################################################################  Avg: 65.88 MBit/s
#####################################################################  Min: 8.60 kBit/s
#####################################################################  Max: 237.96 MBit/s
#####################################################################  Ttl: 2.89 GByte
Outgoing:







                                                                       Curr: 2.07 MBit/s
                                                                       Avg: 820.65 kBit/s
                 .|.   .  ....    ....      ...        ..   ...  ....  Min: 6.81 kBit/s
.||||||||..||#######|.##########################|####################  Max: 327.89 MBit/s
#####################################################################  Ttl: 3.87 GByte

测速时注意事项

由于跨洋通信情况比较特殊,一般有下面一些问题,有些属于是正常现象,需要具体问题具体分析处理:

  • 机器中的防火墙需要关闭或者放行必要的测试端口。

  • 单个任务的速度(单线程任务)一般都只有在15-20MB/S的速度,这个是正常的,同时开启多个任务即可。

  • 由于国内家庭带宽的上下行带宽严重不对等(一般家庭用户宽带的上行带宽只有下行带宽的5分之一甚至更少),因此如果需要跑满ECS的下行速度,往往需要多个国内机器同时进行上传,才能够达到效果。

  • 互联网上通信情况时刻都在变化,因此某一个时间段的测速情况可能会和其它时间段的情况不一样,需要在不同时间段多次测试之后进行结果对比。

注:上述IP来源于VMRACK


联系邮箱:sales@99cdn.com

授权平台:www.99cdn.com

云平台:www.vmrack.com


评论