Azure FPGA 性能测试
2018-04-08 17:43 WangSong技术点滴 阅读(1272) 评论(0) 编辑 收藏 举报Azure开启FPGA网络性能测试
一. Azure网络知识点梳理
Azure的VM在经过几代发展后已经有多种硬件类型。目前Azure China的多种机型都配置了FPGA卡,可以实现网络加速,本文将介绍开启FPGA下中国区Azure网络性能的测试。
关于FPGA具体介绍,请参考魏老师的blog:http://www.cnblogs.com/hengwei/p/8667343.html,
通过参考魏老师的Blog,Enable FPGA卡:
二. Iperf3测试工具安装
iPerf 在工作时,测试的两端一方作为 Server,另一方为 Client。程序启动的命令相同,通过不同的参数来区别以哪种工作方式运行。通常情况下先启动 Server 端,使 iPerf 监听在某个固定端口。然后在 Client 端执行相应的命令开始测试。Client端和Server端都需要装iperf3,同时放开所有NSG入站规则。
- yum install -y iperf3
- 打开NSG或者创建VM的时候不创建NSG
- Server端和Client端配置完成,30s,间隔两秒,-P表示几个并发数据流
三. 开启FPGA,北区同一VNET下,两台VM网络性能测试(CentOS-7.4标准 D4_v2 (8 vcpu,28 GB 内存))
- 6个并发数据流,带宽5.6Gbps
- 32个并发数据流,带宽4Gbps左右,已经打满,北区内网传输
- CPU利用率监控
四. 未开启FPGA,北区同一VNET下,两台VM网络性能测试(CentOS-7.4标准 D4v2 (8 vcpu,28 GB 内存))
- 6个并发数据流,带宽6Gbps
- 32个并发数据流,带宽6Gbps左右,已经打满,北区内网传输
- CPU利用率监控
五. 北区同一VNET下ping延迟测试:是否开启延迟差别不大。
六. 北区同一Vnet下D15v2和D14v2做测试
- 开启FPGA,32并发流打满带宽,D15v2当Client,D14v2当server
- Server端D14v2 CPU利用率
qperf测试延迟
- 未开启FPGA,32并发流打满带宽
- Server端D14v2 CPU利用率
qperf测试延迟
七. 总结
测试数据对比:东区北区机器都是D4v2 linux,Centos7.4
D4v2机器测试https://docs.azure.cn/zh-cn/virtual-machines/linux/sizes-general
Items |
FPGA Disabled |
CPU Usage |
FPGA Enabled |
CPU Usage |
North Vnet |
6Gbps |
39% |
5.56Gbps |
25% |
East Vnet |
5.56Gbps |
N/A |
5.56Gbps |
N/A |
North-East |
5.5Gbps |
N/A |
5.5Gbps |
N/A |
- 针对于北区内网测试,如果客户是流量型业务场景,开启FPGA后,会把一部分Workload卸载到网卡上去做,从而减少CPU负载压力,如果没有开启FPGA,虽然也能打满带宽,但是CPU利用率是开启VM的1.5倍左右,CPU负载较大。
- D15v2和D14v2测试对比,因为带宽性能增加,所以CPU负载基本上接近100%,CPU利用率不具有参考性。通过qperf可以测试出延迟的差异,7倍左右的优化,需要注意qperf的测试是one way的,数值的两倍为来回的结果,跟之前的测试对比也可以看到基本一致。不过整体优化的效果还是可以看出来。
-
Items
FPGA Disabled
CPU Usage
Latency
FPGA Enabled
CPU Usage
Latency
North Vnet
16Gbps
100%
0.242ms
21Gbps
98.3%
0.035ms
- 使用大size的机器还是可以看出来是否开启FPGA的吞吐量的差距
。