Linux运维知识之通过调整Linux内核参数提升网络性能
小标 2019-01-16 来源 : 阅读 1003 评论 0

摘要:本文主要向大家介绍了Linux运维知识之通过调整Linux内核参数提升网络性能,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之通过调整Linux内核参数提升网络性能,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

如下网络配置参数调整,主要是针对请求压力大的Linux (2.6 kernel)服务器而言.

如果服务器压力不大,那么维持默认即可.


下述内容取材于”Performance Tuning For Linux Server”一书.


$ /proc/sys/net/core/wmem_max


最大socket写buffer,可参考的优化值:873200


$ /proc/sys/net/core/rmem_max


最大socket读buffer,可参考的优化值:873200


$ /proc/sys/net/ipv4/tcp_wmem


TCP写buffer,可参考的优化值: 8192  436600  873200


$ /proc/sys/net/ipv4/tcp_rmem


TCP读buffer,可参考的优化值: 32768  436600  873200


$ /proc/sys/net/ipv4/tcp_mem


同样有3个值,意思是:

net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.

net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.

net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.

上述内存单位是页,而不是字节.

可参考的优化值是:786432  1048576 1572864


$ /proc/sys/net/core/netdev_max_backlog


进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可调整到1000.


$ /proc/sys/net/core/somaxconn


listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能.

可调整到256.


$ /proc/sys/net/core/optmem_max


socket buffer的最大初始化值,默认10K.


$ /proc/sys/net/ipv4/tcp_max_syn_backlog


进入SYN包的最大请求队列.默认1024.对重负载服务器,增加该值显然有好处.

可调整到2048.


$ /proc/sys/net/ipv4/tcp_retries2


TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,以尽早释放内核资源.


$ /proc/sys/net/ipv4/tcp_keepalive_time


$ /proc/sys/net/ipv4/tcp_keepalive_intvl


$ /proc/sys/net/ipv4/tcp_keepalive_probes


这3个参数与TCP KeepAlive有关.默认值是:

tcp_keepalive_time = 7200 seconds (2 hours)

tcp_keepalive_probes = 9

tcp_keepalive_intvl = 75 seconds

意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.

如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效.

对服务器而言,显然上述值太大. 可调整到:


/proc/sys/net/ipv4/tcp_keepalive_time  1800


/proc/sys/net/ipv4/tcp_keepalive_intvl  30


/proc/sys/net/ipv4/tcp_keepalive_probes  3


$ proc/sys/net/ipv4/ip_local_port_range


指定端口范围的一个配置,默认是32768   61000,已够大.

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程