linux系统内核优化

系统优化是在/etc/sysctl.conf中
net.core.somaxconn
net.core.somaxconn是Linux中的一个kernel参数,表示socket监听(listen)的backlog上限。什么是backlog呢?backlog就是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。而socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。
我们需要在sysctl.conf中增加如下:
net.core.somaxconn = 32786
net.ipv4.tcp_tw_reuse
开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认是0,表示关闭
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle
开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout
对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_orphans
最大孤儿套接字(orphan sockets)数,单位是个,当cat /proc/net/sockstat看到的orphans数量达到net.ipv4.tcp_max_orphans的约一半时,就会报:Out of socket memory
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_max_orphans = 327680
fs.file-max
file-max是设置 系统所有进程一共可以打开的文件数量
我们需要在sysctl.conf中增加如下:
fs.file-max = 6553560
net.ipv4.tcp_max_tw_buckets
系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_max_tw_buckets = 200000
net.ipv4.tcp_syncookies
开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_syncookies = 1
net.unix.max_dgram_qlen
swoole使用unix socket dgram来做进程间通信,如果请求量很大,需要调整此参数。系统默认为10,可以设置为100或者更大。 或者增加worker进程的数量,减少单个worker进程分配的请求量。 net.core.wmem_max 修改此参数增加socket缓存区的内存大小
我们需要在sysctl.conf中增加如下:
net.unix.max_dgram_qlen = 20000
net.ipv4.tcp_max_syn_backlog
端口最大 backlog 内核限制。此参数限制 服务端应用程序 可以设置的端口最大 backlog 值 (对应于端口的 syn_backlog 和 backlog 队列长度)。动机是在内存有限的服务器上限制/避免应用程序配置超大 backlog 值而耗尽内核内存。如果应用程序设置 backlog 大于此值,操作系统将自动将之限制到此值。
我们需要在sysctl.conf中增加如下:
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_mem
内核分配给TCP连接的内存,单位是Page,1 Page = 4096 Bytes,该值一般是三个数值。
第一个数字表示,当 tcp 使用的 page 少于 196608 时,kernel 不对其进行任何的干预
第二个数字表示,当 tcp 使用了超过 262144 的 pages 时,kernel 会进入 “memory pressure” 压力模式
第三个数字表示,当 tcp 使用的 pages 超过 393216 时(相当于1.6GB内存),就会报:Out of socket memory
4G的虚拟机,我们需要在sysctl.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值