- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
针对IPv4的内核7阁参数的配置优化
一、针对 IPv4 的内核 7 阁参数的配置优化
# vim /ect/sysctl.conf
# /sbin/sysctl -p
(一)、dev_max_backlog 参数
表示当每个网络接口接受到数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的
最大数目。一般默认时 128.
nginx 服务器中定义的 NGX_LISTEN_BACKLOG = 511
dev_max_backlog = 262144
(二)、net.core.somaxconn 参数
调节系统同时发起的 TCP 连接数,一般默认值为 128.
在客户端存在高并发请求的情况下,该默认值较小,可能导致链接超时或者重传问题
net.core.somaxconn = 262144
(三)、net.ipv4.tcp_max_orphans 参数
设定系统中最多允许存在多少 TCP套接字不被关联到任何一个用户文件句柄
net.ipv4.tcp_max_orphans = 262144
(四)、net.ipv4.tcp_max_syn_backlog 参数
记录尚未受到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog
(五)、net.ipv4.tcp_timestamps 参数
设置时间戳,可以避免序列号的卷绕
net.ipv4.tcp_timestamps = 0 禁止时间戳
(六)、net.ipv4.tcp_synack_retries 参数
设置内核放弃 TCP 连接之前向客户端发送 SYN+ACK包的数量。
net.ipv4.tcp_synack_retries = 1
(七)、net.ipv4.tcp_syn_retries 参数
net.ipv4.tcp_syn_retries = 1
二、针对 CPU 的 Nginx 配置优化的 2 个指令
(一)、worker_processes
设置 nginx服务的进程数。
建议值为 cpu核数
worker_processes = 4;
(二)、worker_cpu_affinity
每个进程分配 CPU 的工作内核,
worker_cpu_affinity 0001 0100 1000 0010;
三、与网络相连的配置
(一)、keepalive_timeout
Nginx 服务器与客户端保持连接的超时时间。
两个选项:
1.指定客户端连接保持活动的超时时间,在这个时间后,服务器会关闭此连接
2.指定了使用 Keep-Alive消息头保持活动的有效时间,如果不设置它,Nginx服务器不会向客
户端发送 Keep-Alive消息头保持与客户端某些浏览器的连接,超时时间设置后,客户端九可以关闭连接,
而不需要服务器关闭。
keepalive_timeout 60 50;
(二)、send_timeout
用于服务器响应客户端的超时时间,这个超时时间仅针对两个客户端和服务器之间建立连接后,其次
活动之间的时间。如果这个时间后客户端没有任何活动,nginx服务器将会关闭连接。
send_timeout 10s;
(三)、client_header_buffer_size
服务器允许的客户端请求头部的缓冲区大小,默认时 1KB.
可以根据系统分页大小来设置,获取系统分页大小的命令:# getconf PAGESIZE
HTTP 400错误经常是由于这个值太小引起的。
client_header_buffer_size 4k;
(四)、multi_accept
用于配置 Nginx服务器是否尽可能多地接受客户端网络连接请求,默认是off
四、事件驱动模型相关的配置
(一)、use
用于指定 Nginx服务器使用的事件驱动模型
(二)、worker_connections
用于设置 Nginx服务器的每个工作进程允许同时连接客户端的最大数量。
文档评论(0)