“Nginx高性能Web服务器详解笔记”的版本间的差异
来自Alex's wiki
(→4.4与事件驱动相关的8个指令) |
(→4.1针对IPv4内核的7个参数优化配置) |
||
第5行: | 第5行: | ||
相应的配置文件在 '''/etc/sysctl.conf'''<br /> | 相应的配置文件在 '''/etc/sysctl.conf'''<br /> | ||
− | 使用 <font style="background:lightgray">#/sbin/sysctl -p</font> 命令使修改生效<br /> | + | 使用 <font style="background:lightgray">#/sbin/sysctl -p</font> 命令使修改生效<br />: |
− | : | + | |
<nowiki> | <nowiki> | ||
#添加: | #添加: | ||
第19行: | 第18行: | ||
</nowiki> | </nowiki> | ||
+ | |||
==4.2针对CPU的Nginx配置优化的2个指令== | ==4.2针对CPU的Nginx配置优化的2个指令== | ||
;worker_processes 设置成内核的倍数。针对2核CPU,建议为2或4 | ;worker_processes 设置成内核的倍数。针对2核CPU,建议为2或4 |
2016年10月17日 (一) 08:36的版本
目录
第四章 Nginx服务器的高级配置
4.1针对IPv4内核的7个参数优化配置
相应的配置文件在 /etc/sysctl.conf
使用 #/sbin/sysctl -p 命令使修改生效
:
#添加: net.core.netdev_max_backlog = 262144 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_timestamps = 0 net.ipv4. tcp_synack_retries = 1 net.ipv4. tcp_syn_retries = 1 #修改 net.ipv4.tcp_max_syn_backlog = 262144
4.2针对CPU的Nginx配置优化的2个指令
- worker_processes 设置成内核的倍数。针对2核CPU,建议为2或4
- worker_processes 4;
- worker_cpu_affinity 若是4核CPU,则:
- worker_cpu_affinity 0001 0010 0100 1000;
4.3与网络连接相关的4个指令
- keepallive_timeout
- 如:keepalive_time 60 50;
- send_timeout
- 如:send_timeout 10s; 如果这个时间之后客户端没有任何活动,Nginx服务器会关闭
- client_header_buffer_size
- 如果发现 400 错误,有很大一部分原因是客户端的请求头部过大造成的
- client_header_buffer_size 32k;
- multi_accept
- 配置Nginx尽可能多的接收客户端的连接请求: multi_accept on;
4.4与事件驱动相关的8个指令
- use epoll
- worker_connections
- 每个Worker允许最大同时连接数。 worker_connections 51200;
- 由此可知,服务器最大连接数为: Client = worker_processes * worker_connections / 2
- 同时可以设置进程可以打开最大文件句柄数量: #echo "2390251" > /proc/sys/fs/file-max; sysctl -p