本文介绍了X1702-TUALL产品TCP/UDP等功能在不同网络条件下的性能测试方法和测试结果,由于测试环境不同包括测试设备,网络状况等,可能会得到不同的测试结果,存在一定的误差范围。
X1702-TUALL是一款专业的网络处理器IPcore,完全卸载TCP/UDP/ARP/ICMP/ IGMP/IP/MAC等功能,可应用于网络存储,音视频等终端数据传输,为其提供高带宽,低延迟,高质量的网络数据传输,也可以应用于高频交易(HFT)等金融领域,提供超低延时网络接入以及TCP协议栈处理等,同时,可以完全释放因为TCP/IP所耗用的CPU资源,可替换的MAC接口可以适用于当前常见的10M/100M/1G/10G/40G等以太网接口,根据具体FPGA/ASIC,定制开发可支持256最大TCP/UDP连接数。
X1702-TUALL模块化的设计方式使得各协议栈功能模块非常独立,系统结构如下图2-1所示:
图2-1 系统集成结构图
如图2-1所示系统集成结构图所示,X1702-TUALL在网络侧提供了XGMII接口用于外接万兆PHY,在用户测试提供了标准的buffer接口,根据用户的系统架构不同可以对接不同的总线系统,图中案例中使用的ARM AMBA BUS,在数据接口和配置接口均使用的AXI+DMA来搬移数据,同样,用户也可以根据需要选择PCIe或者存储接口等。
E5-2609v4 (1.7GHz/8核/20MB/85W/8线程),64G内存
1)发包数据源:TxGen,自建Verilog发包测试模块;
2)接收测试程序:epoll.c(socket测试统计程序);
3)测试输入因子:1、发包报文长度,报文长度范围1-1460;
2、网络延时,由网络损伤仪添加,范围为0~100ms;
3、网络丢包率,由网络损伤仪添加,范围为0~5%;
4、网络乱序率,由网络损伤仪添加,范围为0~5%
4)测试输出结果:1、吞吐量;
2、系统往返延时(注:此延时包含交换机两次转发延时+网卡收发延时+网络协议栈
延时等);
5)测试统计结果
测试包长 |
网络延时 |
丢包率 |
乱序率 |
吞吐量 |
64Byte |
0 |
0 |
0 |
618Mbps |
1ms |
0 |
0 |
58.2Mbps |
|
0 |
1% |
0 |
314Mbps |
|
0 |
0 |
1% |
595Mbps |
|
512Byte |
0 |
0 |
0 |
8.2Gbps |
1ms |
0 |
0 |
61.2Mbps |
|
0 |
1% |
0 |
2.9Gbps |
|
0 |
0 |
1% |
3.9Gbps |
|
1460Byte |
0 |
0 |
0 |
9.1Gbps |
1ms |
0 |
0 |
62Mbps |
|
0 |
1% |
0 |
3.7Gbps |
|
0 |
0 |
1% |
7.2Gbps |
1)发包数据源:TxGen,自建Verilog发包测试模块;
2)接收测试程序:RxStat,自建Verilog收包统计模块;
3)测试输入因子:1、发包报文长度,报文长度范围1-1460;
2、网络延时,由网络损伤仪添加,范围为0~100ms;
3、网络丢表率,由网络损伤仪添加,范围为0~5%;
4、网络乱序率,由网络损伤仪添加,范围为0~5%
4)测试输出结果:1、吞吐量;
2、系统往返延时;(注:此延时包含交换机两次转发延时+2次XOE的收发延时);
5)测试统计结果
测试包长 |
网络延时 |
丢包率 |
乱序率 |
吞吐量 |
64Byte |
0 |
0 |
0 |
2.4Gbps |
1ms |
0 |
0 |
61.5Mbps |
|
0 |
1% |
0 |
1.8Gbps |
|
0 |
0 |
1% |
2.2Gbps |
|
512Byte |
0 |
0 |
0 |
8.6Gbps |
1ms |
0 |
0 |
62Mbps |
|
0 |
1% |
0 |
4.9Gbps |
|
0 |
0 |
1% |
6.9Gbps |
|
1460Byte |
0 |
0 |
0 |
9.4Gbps |
1ms |
0 |
0 |
62Mbps |
|
0 |
1% |
0 |
5.7Gbps |
|
0 |
0 |
1% |
8.2Gbps |
发送方向的TCP协议处理排除包长因素后的延时是固定延时,具体延时如图4-1所示,报文TCP协议处理延时值为172.8ns;
1)发包数据源:iperf
2)接收测试程序:RxStat;
3)测试输入因子:1、发包报文长度,报文长度范围64-1460;
2、网络延时,由网络损伤仪添加,范围为0~100ms;
3、网络丢表率,由网络损伤仪添加,范围为0~5%;
4、网络乱序率,由网络损伤仪添加,范围为0~5%
4)测试输出结果:1、吞吐量;
2、系统往返延时;
5)测试统计结果
测试包长 |
网络延时 |
丢包率 |
乱序率 |
吞吐量 |
64Byte |
0 |
0 |
0 |
715Mbps |
1ms |
0 |
0 |
57.6Mbps |
|
0 |
1% |
0 |
261Mbps |
|
0 |
0 |
1% |
296Mbps |
|
512Byte |
0 |
0 |
0 |
8.4Gbps |
1ms |
0 |
0 |
61.6Mbps |
|
0 |
1% |
0 |
4.6Gbps |
|
0 |
0 |
1% |
7.1Gbps |
|
1460Byte |
0 |
0 |
0 |
9.2Gbps |
1ms |
0 |
0 |
62.2Mbps |
|
0 |
1% |
0 |
4.8Gbps |
|
0 |
0 |
1% |
7.7Gbps |
图4-1 TCP发送协议处理延时
接收方向的TCP协议处理的延时是固定延时,具体延时如图4-2所示,延时值为140.8ns;
图4-2 TCP接收协议处理延时