我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何提高Linux系统应对短连接的负载能力

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何提高Linux系统应对短连接的负载能力

本篇文章为大家展示了如何提高Linux系统应对短连接的负载能力,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的 TIME_WAIT 状态的socket。

你可以用下面的命令看到:

netstat -ant| grep -i time_wait

有时候,这个数目是惊人的:

 
netstat -ant|grep -i time_wait |wc -l
 
可能会超过三四万。这个时候,我们需要修改 linux kernel 的 tcp time wait的时间,缩短之,有个 sysctl 参数貌似可以使用,它是 /proc/sys/net/ipv4/tcp_fin_timeout,缺省值是 60,也就是60秒,很多网上的资料都说将这个数值设置低一些就可以减少netstat 里面的TIME_WAIT状态,但是这个说法是错误的。经过认真阅读Linux的内核源代码,我们发现这个数值其实是输出用的,修改之后并没有真正的读回内核中进行使用,而内核中真正管用的是一个宏定义,在 $KERNEL/include/net/tcp.h里面,有下面的行:
 
#define TCP_TIMEWAIT_LEN (60*HZ)
 
而这个宏是真正控制 TCP TIME_WAIT 状态的超时时间的。如果我们希望减少 TIME_WAIT 状态的数目(从而节省一点点内核操作时间),那么可以把这个数值设置低一些,根据我们的测试,设置为 10 秒比较合适,也就是把上面的修改为:
 
#define TCP_TIMEWAIT_LEN (10*HZ)
 
然后重新编译内核,重启系统即可发现短连接造成的TIME_WAIT状态大大减少:
 
netstat -ant | grep -i time_wait |wc -l
 
一般情况都可以至少减少2/3,也能相应提高系统应对短连接的速度。 

上述内容就是如何提高Linux系统应对短连接的负载能力,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何提高Linux系统应对短连接的负载能力

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何提高Linux系统应对短连接的负载能力

本篇文章为大家展示了如何提高Linux系统应对短连接的负载能力,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的 TIME_WAIT 状态
2023-06-05

负载均衡如何帮助提高系统的性能和可用性

负载均衡是一种通过将流量分配到多个服务器或节点上来提高系统性能和可用性的技术。通过将流量分散到多个服务器上,负载均衡可以确保系统不会因为某个服务器负载过高而导致性能下降或系统宕机。负载均衡还可以帮助提高系统的可用性,因为即使某个服务器出现故
负载均衡如何帮助提高系统的性能和可用性
2024-04-17

编程热搜

目录