加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Ubuntu上的低延迟TCP设置

发布时间:2020-12-13 18:09:32 所属栏目:Linux 来源:网络整理
导读:在我的实验室中有一个用于在Ubuntu上运行测量的服务器.并且有C程序,它通过TCP连接接收数据,并应尽快发送回复. 组态 CPU:2个处理器x 4个核心 – 英特尔(R)Xeon(R)CPU E5345 @ 2.33GHz RAM:12 GB NIC:Intel Corporation 80003ES2LAN千兆以太网控制器/ 82546
在我的实验室中有一个用于在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),优化以减少中断,将其固定到CPU或CPU组(taskset),并停止任何不必要的服务或守护程序.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读