Nginx优化

简介:

优化内核TCP选项

net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.ip_local_port_range = 1024 65534

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_syncookies = 1 

net.core.somaxconn = 262144

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_max_orphans = 262144

net.ipv4.tcp_max_syn_bcaklog = 262144

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries =  1

net.ipv4.tcp_syn_reries = 1

net.ipv4.tcp_fin_timeout = 1

net.ipv4.tcp_keepalive_time = 30


内核优化详解


net.ipv4.tcp_max_tw_buckets

默认值:180000  设置timewait的值


net.ipv4.ip_local_port_range

默认值:32768-61000  设置允许系统打开的端口范围


net.ipv4.tcp_tw_recycle

默认值:0  该参数用于设置是否启用timewait快速回收


net.ipv4.tcp_tw_reuse

默认值:0  该参数用于设置是否开启重新使用,即允许将TIME-WAIT sockets重新用于新的TCP连接


net.ipv4.tcp_syncookies

默认值:0  该参数用于设置是否开启SYN cookies,如果启用该功能,那么当出现SYN等待队列溢出时,则使用cookies来处理


net.core.somaxconn

默认值:32768  Web应用中listen函数的backlog默认会将内核参数的net.core.somaxconn限制到128,而NGINX定义的NGX_LISTEN_BACKLOG默认值为511,所以有必要调整这个值


net.core.netdev_max_backlog

默认值:300 该参数用于设置被输送到队列数据包的最大数目,在网卡接收数据包的速率比内核处理数据包的速率比内核处理数据包的速度快时,那么会出现排队现象,这个参数就是用于设置该队列的大小


net.ipv4.tcp_max_orphans      

默认值:32768  该参数用于设定系统中最多允许存在多少TCP套接字不被关联到任何一个用户文件句柄上,如果超过这个数

字,没有与用户文件句柄关联的TCP套件字将立即被复位,同时给出警告信息,这个限制只是为了防止简单的DOS攻击,一般在系统内存比较充足的情况下可以增大这个参数 的赋值。


net.ipv4.tcp_max_syn_bcaklog

    默认值:1024   该参数用于记录尚未收到客户端确认信息的连接请求的最大值,对于拥有128M的内存的系统而言,此参数的默认值为1024,,一般在系统内存比较充足的情况下,可以增大这个参数的赋值。


net.ipv4.tcp_timestamps     

默认值:1 该参数用于设置时间戳,这可以避免序列号被重复使用,在高速、高并发的环境中这种情况是存在的,通过时间戳能让这些看做是异常的数据包被内核接收,将该参数的值设置为o,表示关闭该功能


net.ipv4.tcp_synack_retries

默认值:5 用于设置SYN重试的次数,在TCP的3次握手中的第2次握手,内核需要发送一个回应前面一个SYN的ACK的SYN,就是说为了打开对方的连接,内核发出的SYN的次数,减少该参数的值有利于避免DDOS功能


net.ipv4.tcp_syn_reries

默认值:5 用于设置在内核放弃建立连接之前发送SYN包的数量


net.ipv4.tcp_fin_timeout

默认值:60  表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间对端可以出错并永远不关闭连接


net.ipv4.tcp_keepalive_time

默认值:7200  当启用keepalive的时候,该参数用于设置TCP发送keepalive消息的额度



     本文转自812374156 51CTO博客,原文链接:http://blog.51cto.com/xiong51/1953407,如需转载请自行联系原作者



相关文章
|
5月前
|
应用服务中间件 nginx
nginx优化:URI过长或request header过大导致400或414报错
当出现URI过长或请求头过大导致400或414报错时,可以通过以下方式对Nginx进行优化: 1. 调整client_max_body_size参数:该参数用于限制请求体的大小。默认情况下,Nginx的client_max_body_size参数设置为1M。如果请求体超过这个大小,Nginx会返回400错误。您可以根据实际需求适当增加这个值,例如设置为10M或更大。 ``` http { client_max_body_size 10M; } ``` 2. 调整large_client_header_buffers参数:该参数用于调整请求头缓冲区的大
802 0
|
5月前
|
应用服务中间件 Linux PHP
|
6月前
|
缓存 安全 应用服务中间件
百度搜索:蓝易云【Nginx的搭建和优化详细教程。】
通过以上步骤,你已经成功搭建和优化了Nginx服务器。你可以根据自己的需求进行进一步的配置和调整,以满足你的网站的性能和安全需求。
261 3
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue项目加载慢,Nginx页面优化
vue项目加载慢,Nginx页面优化
51 0
|
4月前
|
数据可视化 应用服务中间件 Linux
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
|
4月前
|
缓存 负载均衡 算法
百度搜索:蓝易云【如何优化Nginx服务进程详细。
优化Nginx服务进程是一个持续的过程,需要不断地监测和调整。建议在优化之前备份配置文件,并逐步应用和测试每个优化步骤的效果,以确保服务的稳定性和可靠性。
26 0
|
4月前
|
应用服务中间件 nginx
简单理解Nginx内存池:优化性能的关键
简单理解Nginx内存池:优化性能的关键
109 0
|
4月前
|
缓存 监控 应用服务中间件
百度搜索:蓝易云【Nginx优化教程。】
这些是一些常见的Nginx优化技巧,具体的优化策略可以根据实际情况和需求进行调整。在进行任何更改之前,请确保备份配置文件,并进行适当的测试和性能监测,以确保所做的优化不会导致任何不良影响。
22 0
|
5月前
|
缓存 负载均衡 应用服务中间件
Nginx 的优化思路,并解析网站防盗链
Nginx 的优化思路,并解析网站防盗链
122 1
|
5月前
|
缓存 应用服务中间件 Linux
深入理解Nginx工作原理及优化技巧(下)
深入理解Nginx工作原理及优化技巧