最近在做一个网络压力测试,在对PPS进行压测是,遇到一个疑问,网卡的最大压力是多少了
PPS 即每秒的包转发量
最终google到一些资料,分享下
首先要了解一个包最少需要多少字节
Frame Part | Minimum Frame Size | Maximum Frame Size |
Inter Frame Gap (9.6 ms) | 12 bytes | 12 bytes |
MAC Preamble (+ SFD) | 8 bytes | 8 bytes |
MAC Destination Address | 6 bytes | 6 bytes |
MAC Source Address | 6 bytes | 6 bytes |
MAC Type (or length) | 2 bytes | 2 bytes |
Payload (Network PDU) | 46 bytes | 1,500 bytes |
Check Sequence (CRC) | 4 bytes | 4 bytes |
Total Frame Physical Size | 84 bytes | 1, 538 bytes |
由上边可以看出,一个数据包最小是84bytes,最大可以是1538bytes(当然默认的MTU下)
理论上1G(千兆)的每秒可以传输1,000,000,000bits,而我们最小的包为84字节,我们把单位统一下,
我们的小学理论课上学习过1字节等于8位,即1bytes = 8 bit ,这些理论东西如果不知道,就百度吧,那么我们就有下面的公式了
[1,000,000,000 b/s / (84 B * 8 b/B)] == 1,488,096 f/s (每秒最大传输的帧数,也就是pps)
[1,000,000,000 b/s / (1,538 B * 8 b/B)] == 81,274 f/s (最小的,这个意义就不是很大了)
其他速率按照上面的我们也可以很好的算出来了。
这里给出,常见网卡下,理论的最大PPS
10G 1,488,0000
1G 1488,000
100M 1488,00
10M 1488,0
下图是,给出的各种速率下,包大小和每秒包传输的数量对比图
好了,就记录这么多,一下是Cisco提供的说明源地址,能力高的就看看去,还讲了其他的
https://www.cisco.com/c/en/us/about/security-center/network-performance-metrics.html
文章末尾固定信息
评论