nginx.conf 配置及基本优化(4)

6、net.ipv4.tcp_synack_retries #用于设置内核放弃TCP连接之前向客户端发生SYN+ACK包的数量,网络连接建立需要三次握手,客户端首先向服务器发生一个连接请求,服务器收到后由内核回复一个SYN+ACK的报文,这个值不能设置过多,会影响服务器的性能,还会引起syn攻击:

net.ipv4.tcp_synack_retries = 5 #默认为5,可以改为1避免syn攻击 net.ipv4.tcp_synack_retries = 1

7、net.ipv4.tcp_syn_retries  #与上一个功能类似,设置为1即可:

net.ipv4.tcp_syn_retries = 5 #默认为5,可以改为1 net.ipv4.tcp_syn_retries = 1

:配置文件中针对CPU的2个优化参数:

1、woker_precess #设置Nginx 启动多少个工作进程的数量 2、woker_cpu_affinit #固定Nginx 工作进程所运行的CPU核心

五:配置文件中与网络相关的4个指令:

1、keepalived_timeout 60 50; #设置Nginx服务器与客户端保持连接的时间是60秒,到60秒后服务器与客户端断开连接,50s是使用Keep-Alive消息头与部分浏览器如 chrome等的连接事件,到50秒后浏览器主动与服务器断开连接。   keepalived_timeout 60 50; 2、sendtime_out 10s #Http核心模块指令,指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭与客户端的连接。   sendtime_out 10s; 3、client_header_timeout #用于指定来自客户端请求头的headerbuffer大小,对于大多数请求,1kb的缓冲区大小已经足够,如果自定义了消息头部或有更大的cookie,可以增加缓冲区大小。   client_header_timeout 4k; 4、multi_accept #设置是否允许,Nginx在已经得到一个新连接的通知时,接收尽可能更多的连接。 multi_accept on;

六:配置文件中与驱动模型相关的8个指令: 

1、use; #用于指定Nginx 使用的事件驱动模型

2、woker_process; #指定Nginx启动的工作进程的数量

3、woker_connections  65535; #指定Nginx 每个工作进程的最大连接数,woker_connections  *  woker_process即为Nginx的最大连接数量。

4、woker_rlimit_sigpending 65535  #Nginx每个进程的事件信号队列的上限长度,如果超出长度,Nginx则使用poll模型处理客户的请求。

5、devpoll_changes 和 devpoll_events #用于设置Nginx 在/dev/poll 模型下Nginx服务器可以与内核之间传递事件的数量,前一个设置传递给内核的事件数量,后一个设置从内核读取的事件数量,默认为512。

6、kqueue_changes 和 kqueue_events #设置在kqueue模型下Nginx服务器可以与内核之间传递事件的数量,前一个设置传递给内核的事件数量,后一个设置从内核读取的事件数量,默认为512。

7、epoll_events #设置在epoll驱动模式下Nginx 服务器可以与内核之间传递事件的数量,默认为512。

8、rtsig_signo  #设置Nginx在rtsig 模式使用的两个信号中的第一个,第二个信号是在第一个信号的编号上加1.

9、rtsig_overflow #这些参数指定如何处理rtsig队列溢出。当溢出发生在nginx清空rtsig队列时,它们将连续调用poll()和 rtsig.poll()来处理未完成的事件,直到rtsig被排空以防止新的溢出,当溢出处理完毕,nginx再次启用rtsig模式,rtsig_overflow_events specifies指定经过poll()的事件数,默认为16,rtsig_overflow_test指定poll()处理多少事件后nginx将排空rtsig队列,默认值为32,rtsig_overflow_threshold只能运行在Linux 2.4.x内核下,在排空rtsig队列前nginx检查内核以确定队列是怎样被填满的。默认值为1/10,“rtsig_overflow_threshold 3”意为1/3。

下面关于Nginx的文章您也可能喜欢,不妨参考下:

CentOS 7.2下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1 

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx的500,502,504错误解决方法

CentOS 7 编译安装Nginx1.10.2 脚本启动失败解决思路

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d579438bb2458f415e898108cf67fa34.html