关于java:Nginx-实现-10w-并发之-Linux-内核优化

33次阅读

共计 2027 个字符,预计需要花费 6 分钟才能阅读完成。

因为默认的 Linux 内核参数思考的是最通用场景,这显著不合乎用于反对高并发拜访的 Web 服务器的定义,所以须要批改 Linux 内核参数,是的 Nginx 能够领有更高的性能;

在优化内核时,能够做的事件很多,不过,咱们通常会依据业务特点来进行调整,当 Nginx 作为动态 web 内容服务器、反向代理或者提供压缩服务器的服务器时,期内核参数的调整都是不同的,这里针对最通用的、使 Nginx 反对更多并发申请的 TCP 网络参数做简略的配置;

首先,你须要批改 /etc/sysctl.conf 来更改内核参数。

fs.file-max = 999999

#示意单个过程较大能够关上的句柄数;net.ipv4.tcp_tw_reuse = 1

#参数设置为 1,示意容许将 TIME_WAIT 状态的 socket 从新用于新的 TCP 链接,这对于服务器来说意义重大,因为总有大量 TIME_WAIT 状态的链接存在;ner.ipv4.tcp_keepalive_time = 600

#当 keepalive 启动时,TCP 发送 keepalive 音讯的频度;默认是 2 小时,将其设置为 10 分钟,能够更快的清理有效链接。net.ipv4.tcp_fin_timeout = 30

#当服务器被动敞开链接时,socket 放弃在 FIN_WAIT_2 状态的较大工夫

net.ipv4.tcp_max_tw_buckets = 5000

#这个参数示意操作系统容许 TIME_WAIT 套接字数量的较大值,如果超过这个数字,TIME_WAIT 套接字将立即被革除并打印正告信息。#该参数默认为 180000,过多的 TIME_WAIT 套接字会使 Web 服务器变慢。net.ipv4.ip_local_port_range = 1024 65000

#定义 UDP 和 TCP 链接的本地端口的取值范畴。net.ipv4.tcp_rmem = 10240 87380 12582912

#定义了 TCP 承受缓存的最小值、默认值、较大值。net.ipv4.tcp_wmem = 10240 87380 12582912

#定义 TCP 发送缓存的最小值、默认值、较大值。net.core.netdev_max_backlog = 8096

#当网卡接管数据包的速度大于内核处理速度时,会有一个列队保留这些数据包。这个参数示意该列队的较大值。net.core.rmem_default = 6291456

#示意内核套接字承受缓存区默认大小。net.core.wmem_default = 6291456

#示意内核套接字发送缓存区默认大小。net.core.rmem_max = 12582912

#示意内核套接字承受缓存区较大大小。net.core.wmem_max = 12582912

#示意内核套接字发送缓存区较大大小。#留神:以上的四个参数,须要依据业务逻辑和理论的硬件老本来综合思考;net.ipv4.tcp_syncookies = 1

#与性能无关。用于解决 TCP 的 SYN 攻打。net.ipv4.tcp_max_syn_backlog = 8192

#这个参数示意 TCP 三次握手建设阶段承受 SYN 申请列队的较大长度,默认 1024,将其设置的大一些能够使呈现 Nginx 忙碌来不及 accept 新连贯的状况时,Linux 不至于失落客户端发动的链接申请。net.ipv4.tcp_tw_recycle = 1

#这个参数用于设置启用 timewait 疾速回收。net.core.somaxconn=262114

#选项默认值是 128,这个参数用于调节零碎同时发动的 TCP 连接数,在高并发的申请中,默认的值可能会导致链接超时或者重传,因而须要联合高并发申请数来调节此值。net.ipv4.tcp_max_orphans=262114

#选项用于设定零碎中最多有多少个 TCP 套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤立链接将立刻被复位并输入正告信息。这个限度批示为了避免简略的 DOS 攻打,不必过分依附这个限度甚至认为的减小这个值,更多的状况是减少这个值。#为了方便使用,下方不带正文的能够间接复制

fs.file-max = 999999

net.ipv4.tcp_tw_reuse = 1

ner.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_fin_timeout = 30

原文链接:https://blog.csdn.net/qq_3244…

版权申明:本文为 CSDN 博主「灬点点」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)

2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!

3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0