logo资料库

Solarflare万兆网卡测试流程.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
Solarflare 万兆网卡安装 万兆网卡安装 万兆网卡安装 万兆网卡安装 和和和和 Linux 低延迟低延迟低延迟低延迟测试流程 测试流程 测试流程 测试流程 1.1.1.1. 测试环境 测试环境 测试环境 测试环境 Current 1G Network Control Connection 10G link Typically SFP+ directattach 要求要求要求要求::::  两台机器都配备 Solarflare 网络适配器。  两台机器使用一根光纤线连接 Solarflare 接口。  分别为两块卡上的 Solarflare 接口配置一个 IP 地址,使它们之间可以 通讯。使用 ping 命令验证连接。  OpenOnload 分别安装到两台机器上。  Solarflare 的 sfnettest 和 Netperf 都分别安装到两台机器上。 2.2.2.2. 软件安装 软件安装 软件安装 软件安装 1111)))) 安装安装安装安装 openonload 在 OpenOnload 网络和内核驱动程序构建和安装之前,系统必须支持构建环境, 能够编译内核模块。更多详细信息请参阅 OpenOnload 用户指南附录 C -构建依赖 关系。  从 www.openonload.org 网站下载 openonload-.tgz 文件  使用 tar 命令解压 tar 文件: [root@system-N]# tar -zxvf openonload-.tgz  在 openonload-/scripts 子目录下运行 onload_install 命令: [root@system-N]# ./onload_install 如果 openonload 安装正确,安装过程将输出如下 3 行提示 onload_install: Build complete. onload_install: Installing OpenOnload. onload_install: Install complete.  如果 Solarflare 驱动已经安装在系统中,这个命令将产生一个告警提示,卸载 并重新加载 Solarflare 驱动: [root@system-N]# ./onload_tool unload [root@system-N]# ./onload_tool reload 2222)))) 安装安装安装安装 Netperf  从网站 http://www.netperf.org/netperf/下载文件 netperf-2.6.0.tar.gz,并将它
放在要安装的目录下  使用 tar 命令解压文件 [root@system-N]# tar -zxvf netperf-.tar.gz 这将解压文件并在当前目录下创建一个子目录 netperf- 在这个子目录下运行 configure 和 make 命令 ./configure make install  当 configure 和 make 命令执行后, netperf 和 netserver 应用程序将位于 src 子目录下。 3333)))) 安装安装安装安装 sfnettest  从 www.openonload.org 网站下载 Sfnettest--.tgz 源文件  使用 tar 命令解压 tar 文件: [root@system-N]# tar -zxvf sfnettest-.tgz  从/sfnettest-/src 子目录运行 make 命令, make install 创建 sfnt-pingpong 应用程序。 3.3.3.3. 测试前的配置 测试前的配置 测试前的配置 测试前的配置 分别在两台机器上: 1. 停止 cpuspeed 服务以避免进入省电模式,降低 CPU 时钟速度。 [root@system-N]# service cpuspeed stop 2. 停止 irqbalance 服务以防止 OS 在可用的 CPU 内核之间重新平衡中断。 [root@system-N]# service irqbalance stop 3. 停止 iptables 服务,以消除防火墙产生的间接消耗。 Solarflare 建议在 RHEL6 上使用这项,改进使用内核网络驱动时的延迟。 [root@system-N]# service iptables stop 4. 禁用 interrupt moderation. [root@system-N]# ethtool -C eth rx-usecs-irq 0 adaptive-rx off 这里 N 是 Solarflare NIC 以太网接口的标识符,例如 ETH4 5. 防止 OS 将 CPU 切换到低功耗模式(C1E) [root@system-N]# onload_tool disable_cstates 4.4.4.4. Netperf 1) TCP 延迟测试 延迟测试 延迟测试延迟测试 在 system‐1 上运行 netserver 应用程序: [root@system-1]# pkill -f netserver [root@system-1]# onload --profile=latency taskset -c 1 ./netserver 在 system‐2 上运行 netperf 应用程序: [root@system-2]# onload --profile=latency taskset -c 1 ./netperf -t TCP_RR -H -l 10 -- -r 32
输出结果 输出结果 输出结果输出结果 Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec 16384 87380 32 32 10.00 203309.03 每秒每秒每秒每秒 203309 次往返次往返次往返次往返,,,,也就是每次往返用时 也就是每次往返用时 1/203309 秒秒秒秒。。。。 也就是每次往返用时 也就是每次往返用时 RTT/ 2 延迟延迟延迟延迟为为为为(1/203309)/2 或或或或 2.4us。。。。 2) UDP 延迟测试 延迟测试 延迟测试延迟测试 在 system‐1 上运行 netserver 应用程序: [root@system-1]# pkill -f netserver [root@system-1]# onload --profile=latency taskset -c 1 ./netserver 在 system‐2 上运行 netperf 应用程序: [root@system-2]# onload --profile=latency taskset -c 1 ./netperf -t UDP_RR -H -l 10 -- -r 32 输出结果: Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec 124928 124928 32 32 10.00 221175.78 每秒每秒每秒每秒 221175 次往返次往返次往返次往返,,,,也就是每次往返用时 也就是每次往返用时 1/221175 秒秒秒秒。。。。 也就是每次往返用时 也就是每次往返用时 RTT/ 2 延迟为延迟为延迟为延迟为(1/221175)/2 或或或或 2.2us。。。。 5.5.5.5. sfnettest 1) TCP 延迟测试 延迟测试--sfnt‐‐‐‐pingpong 延迟测试延迟测试 在两台机器上运行 sfnt‐‐‐‐pingpong 应用程序 在两台机器上运行 应用程序: 应用程序应用程序 在两台机器上运行 在两台机器上运行 [root@system-1]# onload --profile=latency taskset -c 1 ./sfnt-pingpong [root@system-2]# onload --profile=latency taskset -c 1 ./sfnt-pingpong --maxms=10000 --affinity 1,1 tcp # size mean min median max 99%ile stddev iter 1 3660 3551 3636 18789 3934 101 1000000 2 3661 3534 3638 13275 3921 97 1000000 4 3654 3507 3626 10401 3908 96 1000000 8 3717 3569 3686 10227 3993 99 1000000 16 3716 3570 3688 22222 3971 96 1000000 32 3725 3573 3702 12755 3965 88 1000000 32 3725 3573 3702 12755 3965 88 1000000 32 3725 3573 3702 12755 3965 88 1000000 32 3725 3573 3702 12755 3965 88 1000000 64 3743 3605 3717 12159 3998 95 1000000 测试结果纵向按测试 TCP 数据包大小排列,输出标识为 RTT/2 的延迟时间的平 均值,最小值,中位数和最大值(纳秒),包括 99%的百分位数和这些结果的标准
偏差。 一个 32 字节大小的消息,平均延迟为 3.7us, 99%的数据包的延迟在 4.0us 以下。 99%ile 99%ile—99%的百分位数,即 99%的数据包的延迟低于这个时间。 99%ile 99%ile Stddev Stddev—standard deviation,标准偏差。 Stddev Stddev 2) UDP 延迟测试 延迟测试延迟测试 延迟测试-- sfnt‐‐‐‐pingpong 在两台机器上运行 sfnt‐‐‐‐pingpong 应用程序 在两台机器上运行 应用程序: 应用程序应用程序 在两台机器上运行 在两台机器上运行 [root@system-1]# onload --profile=latency taskset -c 1 ./sfnt-pingpong [root@system-2]# onload --profile=latency taskset -c 1 ./sfnt-pingpong --maxms=10000 --affinity 1,1 udp size mean min median max 99%ile stddev iter 0 3489 3291 3485 39807 3639 86 1000000 1 3492 3322 3486 11473 3639 81 1000000 2 3491 3328 3486 11209 3629 82 1000000 4 3490 3318 3486 10492 3615 69 1000000 8 3484 3276 3479 9915 3648 84 1000000 16 3499 3305 3489 9751 3652 80 1000000 32 3554 3374 3549 10053 3686 75 1000000 64 3564 3401 3552 8935 3701 65 1000000 测试结果纵坐标按测试 UDP 数据包大小排列,输出标识为 RTT/2 的延迟时间 的平均值,最小值,中位数和最大值(纳秒),包括 99%的百分位数和这些结果的标 准偏差。 一个 32 字节大小的消息,平均延迟为 3.5us, 99%的数据包的延迟在 3.7us 以 下。 99%ile—99%的百分位数,即 99%的数据包的延迟低于这个时间。 Stddev—standard deviation,标准偏差。
分享到:
收藏