网络基准测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基准测试相关的知识,希望对你有一定的参考价值。

参考技术A 表示链路的最大传输速率,单位是b/s(比特 / 秒)。

表示单位时间内成功传输的数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字节 / 秒)。吞吐量受带宽限制

表示从网络请求发出后,一直收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会有不同含义。比如,它可以表示,建立连接需要的时间(比如 TCP 握手延时),或一个数据包往返所需的时间(比如 RTT)。

Packet Per Second(包 / 秒) 的缩写,表示以网络包为单位的传输速率。PPS通常用来评估网络的转发能力。

Linux 内核自带的高性能网络测试工具 pktgen。pktgen 支持丰富的自定义选项,方便你根据实际需要构造所需网络包,从而更准确地测试出目标服务器的性能。
不过,在 Linux 系统中,你并不能直接找到 pktgen 命令,因为 pktgen 作为一个内核线程来运行,需要你加载 pktgen 内核模块后,再通过 /proc 文件系统来交互。

根据上面的结果,我们发现,PPS 为 12 万,吞吐量为 61 Mb/s,没有发生错误。那么,12 万的 PPS 好不好呢?

作为对比,你可以计算一下千兆交换机的 PPS。交换机可以达到线速(满负载时,无差错转发),它的 PPS 就是 1000Mbit 除以以太网帧的大小,即 1000Mbps / ((64+20)*8bit) = 1.5 Mpps(其中,20B 为以太网帧前导和帧间距的大小)。

即使是千兆交换机的 PPS,也可以达到 150 万 PPS,比我们测试得到的 12 万大多了。所以,看到这个数值你并不用担心,现在的多核服务器和万兆网卡已经很普遍了,稍做优化就可以达到数百万的 PPS。
而且,如果你用了DPDK 或 XDP ,还能达到千万数量级。

iperf 和 netperf 都是最常用的网络性能测试工具,用来测试TCP 和 UDP的吞吐量。它们都以客户端和服务器通信的方式,测试一段时间内的平均吞吐量。这里以 iperf 命令为例。

从上面可以看出目标机器的吞吐量为866 Mb/s。

测试HTTP的性能,也有大量工具可以使用,比如 ab,webbench等。这里以 ab 为例

TODO

以上是关于网络基准测试的主要内容,如果未能解决你的问题,请参考以下文章

sh [网络基准测试 - iperf] iperf3网络速度测试和基准测试#iperf #nw #nw-test #nw-benchmark #chchmark

MySQL基准测试--原因,策略,思路

几款优秀的Linux基准测试工具

tensorflow benchmark 基准测试

性能测试策略之----基准测试

集成图网络模型实现基准测试,清华推出图表示学习工具包