AWS EC2各个类型的网络性能的测试方法
介绍
在AWS中,不同类型的EC2 instance,拥有的网络带宽是不同的。
让人犯糊的是,在AWS EC2的介绍页面中,并没有清晰的标明每种类型的Instance的带宽具体是多少?一些类型的Instance只是标注了网络性能(Network Performance)为Up to 5
,Low
,Moderate
或者High
。
老外的EC2 Network Performance Cheat Sheet这篇文章中,记录了作者使用iperf3测试出来的各个Instance类型的带宽。如果选取类型的时候比较在意带宽,可以用来参考下。
顺带介绍一下如何在AWS EC2中使用iperf3来测试Instance带宽。如果确实有需要,就可以自己来进行测速。
测试环境如下:
- 测试Region是美国Oregon
- 使用两台m4.large的EC2,一台运行服务,一台用作客户端。
- 介绍两种Amazon Linux的测试方法
- Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type
- Amazon Linux 2 AMI (HVM), SSD Volume Type
Amazon Linux 测速
环境说明
- 两台m4.large
- AMI为Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type
- 两台Instance在同一个AZ中
试验中,iperf3监听5000端口,EC2对应的SG中需要开启端口5000
安装测试
登录作为Server的EC2,执行如下命令
登录作为client的EC2,执行如下命令:
Client上执行命令来测速iperf3 -c 172.31.20.28 -i 1 -t 5 --parallel 2 -p 5000
-c 172.31.20.28
代表client模式, 连接的服务器IP是172.31.20.28-i
代表输出间隔为1秒-t
代表持续5秒--parallel
代表并行数为2-p
代表连接服务器的5000端口。
iperf3 -c 172.31.20.28 -i 1 -t 5 --parallel 2 -p 5000
的输出如下:
Amazon Linux 2测速
环境说明
- 两台m4.large
- AMI为Amazon Linux 2 AMI (HVM), SSD Volume Type
- 两台Instance在同一个AZ中
试验中,iperf3监听5000端口,EC2对应的SG中需要开启端口5000
安装测试
登录作为Server的EC2,执行如下命令
登录作为client的EC2,执行如下命令:
Client上执行命令来测速iperf3 -c 172.31.44.223 -i 1 -t 5 --parallel 2 -p 5000
-c 172.31.44.223
代表client模式, 连接的服务端IP地址是172.31.44.223-i
代表输出间隔为1秒-t
代表持续5秒--parallel
代表并行数为2-p
代表连接服务器的5000端口。
iperf3 -c 172.31.44.223 -i 1 -t 5 --parallel 2 -p 5000
的输出如下:
比较总结
- Amazon Linux是基于RHEL6的,Amazon Linux 2是基于RHEL 7的,两者的差别可以认为就类似于RHEL 6和RHEL 7。
- Amazon Linux 2中默认不带epel的yum源,需要自己安装。而Amazon Linux中默认带epel源,不过默认是disable的,需要用yum-config-manager enable一下。
- iperf3前一两秒会有一个burst,测试时间需要长一点,才能得到一个比较真实的测试结果。
- 关于EC2网络带宽的猜想: 每个机型的带宽限制,应该是AWS在逻辑层面做的限制,而不是在物理硬件层面的限制。