首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有可用的缓冲区空间并使用sysctl进行调优。

没有可用的缓冲区空间并使用sysctl进行调优。
EN

Server Fault用户
提问于 2013-05-08 10:39:53
回答 1查看 5.5K关注 0票数 3

不是真正的网络人,所以请容忍我。

我目前托管一个web应用程序,定期将UDP发送到它的子网中的所有IP地址。那是2048个IP。我的问题是它会在某个时候抛出No buffer space available

我使用sysctl调整了一些值,即:

  • net.ipv4.neigh.default.gc_thresh1 = 2048
  • net.ipv4.neigh.default.gc_thresh2 = 4096
  • net.ipv4.neigh.default.gc_thresh3 = 8192

它起了作用,但严重地减慢了服务器的响应时间。它是用Java写的,运行在一个fit-pc2 (1.1ghz,1gb内存,SD卡)中--哦,恐怖。

鉴于资源有限,如何优化服务器/内核参数以解决No buffer space available问题?

EN

回答 1

Server Fault用户

发布于 2013-05-08 20:07:01

这不是sysctl设置本身,您的服务器正在减速,因为它必须连续扫描带有2k条目的arp表。

值得尝试的事情是:

  • 将默认的"arp缓存超时“从60增加到3600。这将使平均arp请求率从34 req / s降低到0.5 req /S。
  • 静态地将所有有趣的MAC地址添加到arp表中

但是,最好的选择是通过路由器将您的服务器与2k主机分开。

  • 如果您可以从服务器更改IP,只需将其放到另一个子网中即可。
  • 如果不能更改IP,则可以拆分/30子网的/21子网,并使用代理-arp特性将它们粘合在一起。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/505964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档