nginx配置优化

本文探讨了通过调整epoll模式、使用长连接、优化TCP工作模式以及合理配置监控参数来提升Nginx并发连接能力,并详细介绍了配置优化步骤,包括修改worker_connections、启用multi_accept和accept_mutex,以及调整fin_timeout和sysctl参数,以减少TIME_WAIT状态和提高系统效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	1. 改进方法
	
	a、使用epoll模式,增加并发连接数,增加nginx系统并发连接能力。
	b、后端使用长连接, 提高端口利用率,减少TIME_WAIT状态比例, 使系统可以允许更多的TIME_WAIT.
	c、优化tcp连接工作模式,减少FIN2_WAIT状态比例 (对应监控中的OTHERSTATE)。
	d、合理的设置监控参数
	2. 配置操作
	
	2.1 打开nginx/conf/nginx.conf配置文件,对其中events的worker_connections、multi_accept、accept_mutex等参进行调优,如下所示
	
	原配置
	
	events {
	    worker_connections  1024;
	}
	优化为
	
	events {
	    use epoll; #支持大量连接和非活动连接
	    worker_connections 32768; 
	    multi_accept on; #nginx在已经得到一个新连接的通知时,接收尽可能多的连接
	    accept_mutex on; #防止惊群现象发生,默认为on
	}
	优化说明
	
	使用epoll模式,将连接从现在的2048增加到32768,Epoll模式将提高并发连接到100K级别, 而且非活跃的连接(连接正常但没有数据或死的连接对象)数量不影响活跃连接的性能。
	2.2 upstream中使用keepalive,如下
	
	upstream httpproxy{ 
	    server 192.168.1.14:8080; 
	    server 192.168.1.15:8080;
	    keepalive 128; 
	}
	2.3 系统优化
	
	[root@CsadfZ999739 nginx]# vi /etc/sysctl.conf 
	net.ipv4.tcp_fin_timeout = 20
	#net.ipv4.tcp_keepalive_time =300 # 5分钟发个激活包,应对移动端, 现在不需要,因为有F5
	fs.file-max = 163840 #增加文件数
	net.ipv4.tcp_max_syn_backlog = 8192 #表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。 
	:wq 
	[root@CsadfZ999739 nginx]#/sbin/sysctl 
	 
	#监控参数设置
	ESTABLISHED: 连接数 2万 
	TIME_WAIT: 只监控nginx与后端服务器连接部分 5000 全部的端口>2万
	OTHERSTATE: 5000
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值