代码改变世界

Azure FPGA 性能测试

2018-04-08 17:43 WangSong技术点滴 阅读(...) 评论(...) 编辑 收藏

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入站规则。

  1. yum install -y iperf3
  2. 打开NSG或者创建VM的时候不创建NSG

 

  1. Server端和Client端配置完成,30s,间隔两秒,-P表示几个并发数据流

 

三.              开启FPGA,北区同一VNET下,两台VM网络性能测试(CentOS-7.4标准 D4_v2 (8 vcpu,28 GB 内存)

  1. 6个并发数据流,带宽5.6Gbps

  1. 32个并发数据流,带宽4Gbps左右,已经打满,北区内网传输

  1. CPU利用率监控

 

四.   未开启FPGA,北区同一VNET下,两台VM网络性能测试(CentOS-7.4标准 D4v2 (8 vcpu,28 GB 内存)

  1. 6个并发数据流,带宽6Gbps

  1. 32个并发数据流,带宽6Gbps左右,已经打满,北区内网传输

 

  1. CPU利用率监控

五.           北区同一VNET下ping延迟测试:是否开启延迟差别不大。

 

六.              北区同一Vnet下D15v2和D14v2做测试

  1. 开启FPGA,32并发流打满带宽,D15v2当Client,D14v2当server

  1. Server端D14v2 CPU利用率

    qperf测试延迟

  1. 未开启FPGA,32并发流打满带宽

 

  1. 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

 

  1. 针对于北区内网测试,如果客户是流量型业务场景,开启FPGA后,会把一部分Workload卸载到网卡上去做,从而减少CPU负载压力,如果没有开启FPGA,虽然也能打满带宽,但是CPU利用率是开启VM的1.5倍左右,CPU负载较大。
  2. D15v2和D14v2测试对比,因为带宽性能增加,所以CPU负载基本上接近100%,CPU利用率不具有参考性。通过qperf可以测试出延迟的差异,7倍左右的优化,需要注意qperf的测试是one way的,数值的两倍为来回的结果,跟之前的测试对比也可以看到基本一致。不过整体优化的效果还是可以看出来。
  3. Items

    FPGA Disabled

    CPU Usage

    Latency

    FPGA Enabled

    CPU Usage

    Latency

    North Vnet

    16Gbps

    100%

    0.242ms

    21Gbps

    98.3%

    0.035ms

  1. 使用大size的机器还是可以看出来是否开启FPGA的吞吐量的差距