gpt4 book ai didi

linux - 小数据包的吞吐量较低

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:03 24 4
gpt4 key购买 nike

我有一个问题,为什么与 1500 字节的数据包相比,我的机器的吞吐量对于小尺寸的数据包(即 64 字节)非常差?

我有一个 GIGABIT NIC 卡,能够以 80MB/s 的速度传输 1500 字节大小的数据包,但在 64 字节大小的数据包的情况下,我几乎无法达到 25MB/s 左右。

我知道,对于 1500 字节的数据包,我需要发送大约 80k PPS 才能达到线路速率,而对于 64 字节的数据包,大约需要 140 万 PPS。

但为什么小数据包的吞吐量会有很大差异??

编辑: 我在 linux 中使用内存映射将数据包从用户空间传输到内核空间,然后直接写入网络驱动程序进行传输。与 64 字节和 1500 字节的数据包相比,我发现我的 CPU 利用率非常低且相同。

最佳答案

But why there is a huge variation in throughput for small sized packets ??

CPU 压力。与其大小无关,每个发出的数据包在到达接口(interface)之前都经过大量处理。换句话说,传输一个小数据包和一个大数据包的“成本”是相当的。

如果您对此感兴趣,您可能想研究 Linux 内核中的“GSO”和“UFO”——它是专门为此开发的。

关于linux - 小数据包的吞吐量较低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13411422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com