gpt4 book ai didi

linux - 如何实现最佳的 tcpip 套接字数据速率性能

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:50 25 4
gpt4 key购买 nike

在每个 tcp 数据包中打包尽可能多的数据显然会降低开销的相对权重。增加缓冲区大小可提高对 CPU 使用率峰值的稳健性。

但是还可以做些什么来实现最高数据速率?

增加数据读取器线程的优先级是个好主意吗?如果使用最高优先级,此线程是否会与网络驱动程序竞争 CPU 使用率并实际上损害性能?

就可实现的数据速率而言,阻塞还是非阻塞最好?

在非常高的数据速率下,当缓冲区达到例如 90% 并触发高优先级读取时,是否可以检测到接收缓冲区的溢出?

通过 tcpip 套接字实现高数据速率的其他技术?

最佳答案

一种方法是使用忙轮询从 NIC 获取数据。这可以通过减少中断开销来提高数据速率。这是在 DPDK 等高性能数据包处理框架中完成的。

另一种方法是避免将数据包从内核空间复制到用户空间。我不知道这在你的情况下是否可行。通过将内核内存映射到用户空间内存来避免复制数据包。将数据复制到用户空间是网络堆栈中最耗时的步骤之一。同样,这是在 DPDK 中完成的。

关于linux - 如何实现最佳的 tcpip 套接字数据速率性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51363541/

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