本文转载自:https://blog.levas.top/2020/10/30/云筏容器云网络测试/
摘要
本文主要测试云筏容器云的网络情况,包括国内三网延迟,国外路由,延迟,丢包率。会重点关注连接国外服务器的延迟和丢包。同时提供和容器云同直辖市的阿里云轻量服务器的测速作为对比。
简介
云筏容器云目前节点在世纪互联机房。云筏表示海外流量全部走GIA线路,出口稳定性值得一测。同时,世纪互联机房的带宽费很高,也有必要关注一下流量价格,这一点需要等待云筏信息。
此外云筏容器云通过三级域名cname来转发内网的容器流量(env-xxxxxxx.paas.cloud.ac.cn)。在入口处对端口转发做了负载均衡来提高可用性。支持80端口和443端口,想要建站猜测要备案,具体情况请以云筏官方信息为准。除三级域名转发外,还支持为容器绑定一个ipv4,下文会针对该ipv4地址单独测试。
测试时容器的上行带宽限制为100M。容器选择ubuntu18.04镜像。
国内三网测速
superspeed测速
- 借助工具superspeed.sh进行三网测速。
bash <(curl -Lso- https://git.io/superspeed)
可以看到,上行带宽接近我容器的限制,差不多跑满了。
作为对比,提供一个我的上海阿里云学生轻量(上行限5M)测速图:
网站测速
发起ping的地区基本都是绿的。
大陆以外地区测速
各地traceroute
- 测试借助站长工具-路由追踪完成,各图片traceroute起始ip都在大陆以外地区,具体信息见图片:
- 需要注意的是,这里末端ip虽然显示是北京电信,但感觉是广播到上海的ip,后面的测试延迟也都能印证这一点。我对此不太了解,不发表过多意见。
- 除了通过外部traceroute容器云以外,每张图片下面还有从容器云向外traceroute的路由图。
小结
海外双向ping可以发现,由容器云主动发起的连接,流量全部走gia;海外服务器发起的连接,流量走163。
个人测试
traceroute
- 我的hz德国vps的traceroute 容器云结果:
从德国到达英国,然后进入上海电信,汇入世纪互联机房。
- hz德国vps traceroute 阿里云上海轻量作为对比:
从欧洲出口后依次到达北京联通,上海联通,再到达阿里云
- 补充一个do 加利福尼亚traceroute 容器云结果:
在上海电信入境,然后进入世纪互联机房
icmp ping
- hz德国ping 容器云
PING env-*.paas.cloud.ac.cn (120.133.*.204) 56(84) bytes of data. 64 bytes from 120.133.*.204 (120.133.*.204): icmp_seq=1 ttl=47 time=296 ms ........ 64 bytes from 120.133.*.204 (120.133.*.204): icmp_seq=100 ttl=47 time=296 ms ^C --- env-*.paas.cloud.ac.cn ping statistics --- 101 packets transmitted, 97 received, 3% packet loss, time 100111ms rtt min/avg/max/mdev = 292.241/297.762/313.664/4.642 ms
- hz德国ping 阿里云上海轻量,作为对比:
PING 47.103.*.* (47.103.*.*) 56(84) bytes of data. 64 bytes from 47.103.*.* (47.103.*.*): icmp_seq=1 ttl=44 time=255 ms ........ 64 bytes from 47.103.*.* (47.103.*.*): icmp_seq=165 ttl=44 time=267 ms ^C --- 47.103.*.* ping statistics --- 165 packets transmitted, 164 received, 0% packet loss, time 164212ms rtt min/avg/max/mdev = 215.725/255.905/275.815/13.962 ms
- 补充一个do加利福尼亚 ping 容器云结果:
PING env-*.paas.cloud.ac.cn (120.133.*.205) 56(84) bytes of data. 64 bytes from 120.133.*.205 (120.133.*.205): icmp_seq=1 ttl=48 time=168 ms ........ 64 bytes from 120.133.*.205 (120.133.*.205): icmp_seq=53 ttl=48 time=168 ms ^C --- env-*.paas.cloud.ac.cn ping statistics --- 54 packets transmitted, 47 received, 12% packet loss, time 53157ms rtt min/avg/max/mdev = 167.359/167.907/168.460/0.224 ms
tcp ping
- hz德国tcpping结果
1.这里响应ip出现了跳变现象,不知是什么情况,跳变现象发生时,延迟会波动且出现丢包。
不跳变时延迟很稳定。
2.云筏解释ip跳变现象:
我们两台物理机做负载均衡高可用 这两个IP会先去到VIP网关,然后根据可用性分配到两台LB的其中一台 最后LB再端口转发到内网对应的机器里面
所以跳变是世纪互联内网的负载均衡切换导致的。
作为对比,tcpping 我的阿里云上海轻量的结果:显然延迟不稳定
- 补充一个 do加利福尼亚 tcpping容器云结果:
独立ipv4
容器云面板显示有独立ipv4功能,但是申请失败,无法测试。
据云筏表示,已准备提供独立ipv4,但暂未拿到icp证,不开放。独立ipv4的网络情况需要等待容器云正式上线后才能知晓。
出口带宽
容器云作为文件服务器
- 目的:看看到海外访问容器云的带宽能达到多少
- 测试环境:
- 容器部署nginx,以一个opsx镜像(871MB)作为大体积文件。nginx配置:
server \{ listen 80; location / \{ root /home/test; autoindex on; \} \}
- 下载机的服务商与地域:hz德国 digitalocean加利福尼亚
- wget单线程下载 axel多线程。使用axel是为了尽可能抢占到最大的带宽
- 没开BBR。gia应该不需要开BBR。
- 容器部署nginx,以一个opsx镜像(871MB)作为大体积文件。nginx配置:
- 测试路由:均为163
- 测试结果
wget单线程(avg.) axel 64线程(avg.) hz德国(136.243.0.0) 1.11MB/s 1.14 MB/ do加利福尼亚(64.225.0.0) 1.12MB/s 懒得测了 个人感觉:很显然出口带宽被限制了,单线程能跑到1.11MB/s,axel多线程理所应当有显著提高。无法跑到更高的带宽上,是云筏限制或是上游运营商限制不得而知。
海外从容器云下载大文件能稳定跑到1MB/s 以上,还是挺不错的。
容器云作为下载机
- 测试环境:
- hz德国vps作为文件服务器,部署相同的镜像(871MB)
- 容器云作为下载机
- wget单线程 axel多线程。
- hz德国vps开了BBR。理由:很早之前就开了。
- hz德国vps 上行带宽限制为100M。
- 新增一个hzG口拍卖机作为文件服务器
- 容器云到hz vps的测试路由:
- 容器云到hz拍卖机的测试路由:
- 测试结果:
文件服务器上行带宽 wget单线程(avg.) axel 64线程(avg.) hz vps(136.243.0.0) 100M 9.54MB/s 不测,单线程快跑到了带宽上限没有意义 hz 拍卖机(144.0.0.0) 1000M 6.40MB/s 9.3MB/s - 评价
目测限制了从海外入境的带宽,限到了100M。
总结
大陆以外地域的网络情况
- 容器云出口到海外ip走GIA网络,所以能高速拉海外的文件,下载速度很可能被限制到100M。没测走GIA到海外的带宽。
- 海外入容器云的路由为163网络,从海外下载容器云文件速度略高于1MB/s。没测走163到容器云的带宽。
大陆网络情况
- 上行限制为100M,多地测速接近了100M。
- 下行限制大于500M,多地测速超过了500M。少数节点跌到了400M。
海外双向ping可以发现,由容器云主动发起的连接,流量全部走gia;海外服务器发起的连接,流量走163。
最后一点
- 测速次数较少,结果仅供参考。
工具汇总
- 测试使用的工具:ping,traceroute,tcpping
- 安装tcpping 及使用
sudo apt-get install tcptraceroute wget http://www.vdberg.org/~richard/tcpping && chmod 755 tcpping ./tcpping www.baidu.com
- 三网测速脚本superspeed.sh
bash <(curl -Lso- https://git.io/superspeed)
- 站长工具-路由追踪