您的位置:首页 > 运维架构 > Nginx

nginx高级服务器配置

2020-05-04 17:50 106 查看

针对IPv4的内核7个参数的配置优化(linux内核参数配置)

1.net.core.netdev_max_backlog

当每个网络接口接收数据包的速度比内核处理这些包的快,允许发送到队列的数据包的最大数(一般默认128)

2.net.core.somaxconn

用于调节系统同时发起的tcp连接数(一般默认128),如果该值太小,在并发的时候会造成链接超时或者重传问题

3.net.ipv4.tcp_max_orphans

配置系统中最多允许存在多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,没有与用户文件句柄关联TCP套接字将立即被复位,同时给出警告信息

4.net.ipv4.tcp_max_syn_backlog

记录的那些尚未收到客户端确认信息的连接请求的最大值。

5.net.ipv4.tcp_timestamps

设置时间戳,可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉

6.net.ipv4.tcp_synack_retries

设置内核放弃TCP连接之前向客户端发送SYN+ACK包的数量。为了建立对端的连接服务,服务器和客户端需要进行三次握手,第二次握手期间,内核需要发送SYN并附带一个回应前一个SYN的ACK,一个参数主要影响这个过程,一般赋值为1,即内核放弃连接之前发送一次SYN+ACK包,可以设置其为1

7.net.ipv4.tcp_syn_retries

该参数的作用与上一个参数类似,设置内核放弃建立连接之前发送SYN包的数量,他的赋值和上个参数一样即可

配置完后,要重新加载配置

/sbin/sysctl -p

 

针对CPU的nginx配置优化的2个指令

1.worker_processes

设置nginx服务器的进程数。可根据cpu的个数和核数的积来设置

2.worker_cpu_affinity

用来为每个工作进程分配cpu的工作内核

查看nginx的cpu亲和度

ps -eo pid,ni,pri,pcpu,psr,comm|grep nginx|awk '{++s[$(NF-1)]}END{for (i in s)print "core-id",i,"\t",s[i]}'|sort -nr -k 3

 

与网络连接相关的配置的4个指令

1.keepalive_timeout

用于设置客户端连接保存活动的超时时间

2.send_timeout

用于设置nginx服务器响应客户端的超时时间

3.client_header_buffer_size

用于设置nginx服务器允许的客户端请求头部的缓冲区大小(默认1kb)

可通过getconf PAGESIZE获取

4.multi_accept

配置nginx服务器是否尽可能的接收客户端的网络请求(默认off)

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: