路由:Buffalo WZR-HP-AG300H
固件:OpenWRT CHAOS CALMER (Bleeding Edge, r44541)
我在linode达拉斯的一台主机上搭了ss,但是发现看油管360p都卡(用windows客户端)。客服让我做iperf测试。我先在路由器上(当时还在运行12.09)做了测试,结果如下:
Client connecting to xxx.xxx.xxx.xxx, TCP port 5001
[ 3] local yyy.yyy.yyy.yyy port 38902 connected with xxx.xxx.xxx.xxx port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.2 sec 16.1 MBytes 13.3 Mbits/sec
可以看到iperf跑满了带宽。
然后我在LAN上的一台PC(运行win 7)上也做了测试,得到如下结果:
Client connecting to xxx.xxx.xxx.xxx, TCP port 5001
[ 3] local 192.168.1.2 port 1610 connected with xxx.xxx.xxx.xxx port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.7 sec 3.38 MBytes 2.65 Mbits/sec
可以看到只跑满了1/5的带宽。
然后我在LAN上的另一台电脑(运行XP)和我的手机(运行Android)上做了同样的测试,也是只跑到1/5的带宽。
然后我又在路由器,两台PC和手机上测试了到linode主机的udp连接,均能跑满带宽。可见问题出在TCP连接上。这也能解释为什么我用openvpn看1080P一点也不卡。
然后我在openwrt上建了一个iperf服务器,在局域网的机器上做了测试。两台PC都能跑到200多Mbps。
然后我升级了openwrt到最新版,问题依旧。
我本以为是openwrt的问题,但是刚才我在国内的另一台主机上也建了一个iperf服务器。分别在路由器,两台PC上做TCP连接测试,结果都能跑满带宽。
那为什么在用国外主机做服务器时会出现路由器和LAN上设备TCP传输速度不一致的问题呢?
1
ryd994 2015-03-07 00:31:24 +08:00 via Android
openwrt nat性能差这也算著名了
|
2
xierch 2015-03-07 01:31:16 +08:00
OpenWrt 没装什么 QoS 脚本吧
|