前言
众所周知,Nginx是一个web和反向代理服务器。性能很强悍,但是也不是说随便下载安装在服务器上,就能够极大的发挥其最大性能。想要nginx能够发挥其优势,也需要操作系统(centos 7)相应的作出一些调整。特别研究了一下,在单机上的优化思路。
优化
socket
- nginx
设置子进程允许打开的连接数:worker_connections
参数 - 操作系统层面
- 最大连接数(
somaxconn
) - 加快tcp连接的回收 (
recycle
) - 允许空tcp连接的回收利用(
reuse
) - 洪水攻击的抵御(关闭,仅仅是为了性能测试,单机相同ip压力测试)
- 最大连接数(
设置命令如下:
/**把操作系统最大连接数改为20000*/
echo 20000 > /proc/sys/net/core/somaxconn
/**tcp连接回收*/
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
/**开启空tcp连接的重复利用*/
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
/**关闭洪水攻击的抵御*/
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
文件系统
- nginx
子进程允许打开的文件 :worker_limit_nofiles
- 系统层面
ulimit -n
设置一个比较大的值,默认只有1024