linux – Ubuntu上的低延迟TCP设置

前端之家收集整理的这篇文章主要介绍了linux – Ubuntu上的低延迟TCP设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的实验室中有一个用于在Ubuntu上运行测量的服务器.并且有C程序,它通过TCP连接接收数据,并应尽快发送回复.

组态

> cpu:2个处理器x 4个核心 – 英特尔(R)Xeon(R)cpu E5345 @ 2.33GHz
> RAM:12 GB
> NIC:Intel Corporation 80003ES2LAN千兆以太网控制器/ 82546EB千兆以太网控制器
>网络交换机:Cisco Catalyst 2960
>数据信息:大约数据块.每10毫秒.数据块大小约为. 1000字节.

接收数据包时的网络延迟非常关键(数十微秒很重要).我将程序优化到最大程度,但我没有调整Ubuntu的经验.

可以在Ubuntu中配置什么来减少处理/发送数据包的本地延迟?

解决方法

老实说,I wouldn’t be using Ubuntu for this ……但是有些选项可以应用于任何Linux变体.

您需要增加网络堆栈缓冲区:

net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

如果应用程序正在写入磁盘,则可能需要更改调度程序/电梯(例如,截止期限电梯).

在服务器级别,您可以修改cpu调控器和电源以及cpu频率管理(P状态,C状态).

在操作系统级别,您可以更改应用程序的实时优先级(chrt),优化以减少中断,将其固定到cpucpu组(taskset),并停止任何不必要的服务或守护程序.

您还可以在以下网址看到一些建议:How to troubleshoot latency between 2 linux hosts

在不了解所涉及的硬件或网络设备的情况下,很难更具体.

原文链接:https://www.f2er.com/linux/401106.html

猜你在找的Linux相关文章