Nginx 优化思路

1.系统和nginx是否可以建立多个socket连接
2.系统和nginx是否允许一次性打开多个文件


一、建立socket连接,从操作系统和nginx两个层面分析
1.从nginx:(1)http连接快速关闭即配置nginx的 keep_alivetime:0。因为在HTTP 1.0中协议是 请求-》连接-》断开,即每次请求之后都需要再次握手,但是随着web应用的丰富出现很多css文件和其他资源文件,这就使得要求是否一次请求可以请求多个文件,这就是HTTP 1.1。
(2)子进程允许打开的连接即配置nginx的(worker_connections)
2.从系统层面:(1)修改最大连接数 somaxconn(具体路径在 /proc/sys/net/core/somaxconn)
 (2)加快tcp连接的回收,即修改(/proc/sys/net/ipv4/tcp_tw_recycle)
 (3)空闲的tcp是否允许回收利用,即修改(/proc/sys/net/ipv4/tcp_tw_reuse)
 (4)是否对洪水抵御做相应的cookie操作,修改(/proc/sys/net/ipv4/tcp_syncookies)
二、打开文件方面
1.nginx:子进程允许打开的文件数量:配置添加:worker_rlimit_nofile
2.系统:设置ulimit -n  设置一个较大的值


排查
1.查看nginx错误日志
# tail logs/error.log


2.查看是否可以建立多个socket连接
# dmesg | tail


3./proc 目录下的文件表示linux操作系统运行状态下的值,所以修改 /proc下文件的值可以立即生效


# more /proc/sys/net/core/somaxconn    查看操作系统最大的TCP连接数
# echo 50000 > /proc/sys/net/core/somaxconn      将操作系统最大的TCP连接数改成50000
# cat /proc/sys/net/ipv4/tcp_tw_recycle     查看是否进行快速的TCP回收,为0表示不进行TCP回收,为1进行回收 recycle
# echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle    加快tcp回收
# cat /proc/sys/net/ipv4/tcp_tw_reuse       查看空的TCP是否回收利用reuse
# echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse    回收空闲tcp
# more /proc/sys/net/ipv4/tcp_syncookies     查看是否进行洪水抵御,即单个IP进行大量的连接操作
# echo 0 > /proc/sys/net/ipv4/tcp_syncookies    不进行洪水抵御操作


# ulimit -n     查看打开最大的文件数量默认1024
# vim /etc/nginx/nginx.conf     打开nginx配置文件,配置nginx打开最大的文件数,添加以下配置

  worker_rlimit_nofile 65535;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值