如何使 nginx 支撑更高并发

/**
 *
 *
 *
 * 如何使 nginx 支撑更高的并发?
 * 原理:
 *     服务器方面可以从两个方面阐述:
 *          1、socket 链接方面:因为每次请求都是一次连接,而 nginx 服务器配置方面默认没有配置那么高的连接数,所以先要加大 nginx 的连接数。【要求内存要大】。
 *          2、文件打开方面:nginx 能否一次性被打开那么多的文件【默认一个进程能打开 1024 个文件】。
 *
 * 配置方式:
 * 一、socket 链接方面改进【每次请求都是一次链接】
 *    1、nginx 方面
 *         子进程允许打开最大链接(worker_connections)
 *         nginx》vim conf/nginx.conf
 *                worker_connections 10240;          #调大连接数
 *                wq
 *
 *
 *    2、系统层面改进
 *         ①最大连接数(打开尽量多的链接):somaxconn。
 *             nginx》more /proc/sys/net/core/somaxconn    #查看允许打开最大连接数
 *             nginx》echo 50000 > /proc/sys/net/core/somaxconn
 *         ②加快 tcp 链接的回收(tcp 链接断开时有个延迟,消除这个延迟,消除占用):tcp_tw_recycle。
 *             nginx》cat /proc/sys/net/ipv4/tcp_tw_recycle        #0 为不开启回收
 *             nginx》echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle   #1 为开启快速回收
 *             nginx》vim conf/nginx.conf
 *                    keepalive_timeout 0;   #此配置选项改为 0 (是链接后立马断开,其他数为链接后保持多少秒。):是因为在 http1.1 协议中响应头有个 Connection 的 value 如果是 keep-alive 说明连接后保持连接【好处是减少链接,链接一次拿多个东西,如css文件,弊端是占用 tcp 链接】;如果是 close 说明是链接后断开【好处是加快回收 tcp 链接,链接、断开;坏处是增加了链接】。可折中的设置为 2-3。
 *         ③空的 tcp 链接是否允许回收利用(就是失败的 tcp 链接):reuse。
 *             nginx》echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse     #1 开启回收利用
 *         ④洪水攻击(默认 nginx 在超多并发访问时会当做是洪水攻击,所以会做相应抵御)。
 *             nginx》more /proc/sys/net/ipv4/tcp_syncookies       #1 为开启抵御
 *             nginx》echo 0 > /proc/sys/net/ipv4/tcp_syncookies   #0 为关闭抵御
 *
 *
 * 二、文件打开方面【一个进程有打开文件的限制】
 *    1、nginx 方面
 *         子进程允许打开的文件数:worker_limit_nofiles
 *             vim /usr/local/nginx/conf/nginx.conf
 *             worker_rlimit_nofile 10000;          #手动写入配置文件【写在 worker_processes 下面】。
 *    2、系统层面
 *         ulimit -n   返回系统可一次允许打开文件最大个数。
 *         ulimit -n 30000  #修改系统可一次打开最大文件个数
 *
 *
 *
 *
 *
 *        /usr/local/nginx/sbin/nginx -s reload           #修改完配置,重启
 *        /usr/local/httpd/bin/db -c 2000 -n 100000 http://www.dengwenbo.xin/in.php  #并发测试
 *        192.168.1.202/status                            #浏览器访问,查看测试状态
 *            参数: Active connectons:??   #当前活动数量
 *
 */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值