2.6 upstream指令参数说明

本文详细介绍了 Nginx 中 upstream 指令的六个关键参数:max_conns、slow_start、down、backup、max_fails 和 fail_timeout 的功能与使用场景,并提供了配置示例。

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

upstream指令参数

1、max_conns                 2、slow_start                   3、down                         

4、backup                        5、max_fails                    6、fail_timeout

参数说明:

1、max_conns

  1. 作用: 限制一台服务器的最大连接数;

  2. 默认值: 0,表示不去做任何限制;  

  3. 目的: 保护服务器,限流,避免过载

  4. 注意:老版本的nginx无法使用此参数(1.11.5只能作用于商业版本)

备注: 使用了多个 worker_processes, 使用多个worker进程,连接总数肯定会大于max_conns

        我们可以限制每台server的连接数,用于保护避免过载,可起到限流作用。

        官网地址:

https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

     

        测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;

upstream tomcats {
        server 192.168.93.129:8080 max_conns=2;
        server 192.168.93.130:8080 max_conns=2;
        server 192.168.93.131:8080 max_conns=2;
}

2、slow_start 商业版本的nginx才能使用

  1. 作用: 让服务器缓慢的启动起来;使服务器慢慢加入集群

    1. 有些服务器在启动之后可能会有一些额外的配置;

    2. 这时不想让用户有大量的请求进入到这个服务器,因此会使用这个参数;

  2. 目的: 也便于运维人员启动一些监控软件,检测服务器请求由少到多的一个监控效果;

  3. 使用:

    1. 使用后,一个默认的权重(weight)覆盖,会从0慢慢升级到10;和权重结合使用;

    2. 该参数不能使用 hash和random的负载均衡策略;

    3. 需要使用在集群中,不适用单个服务器节点;

        测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;

upstream tomcats {
        server 192.168.93.129:8080 weight=2 slow_start=60s;
        server 192.168.93.130:8080 weight=2;
        server 192.168.93.131:8080 weight=2;
}

3、down

●    指令参数down

    ◆    标识某台服务器为不可用状态

        测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;

upstream tomcats {
        server 192.168.93.129:8080 down;
        server 192.168.93.130:8080 weight=1;
        server 192.168.93.131:8080 weight=1;
}

        这样,192.168.93.129这台服务器就访问不到了。

4、backup

●    指令参数backup

    ◆    标识某台机器为备用机,备用机是不会被访问到的,只有其他的server挂掉,才会被访问到。     

        测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;

upstream tomcats {
        server 192.168.93.129:8080 backup;
        server 192.168.93.130:8080 weight=1;
        server 192.168.93.131:8080 weight=1;
}

注意:

        backup参数不能使用在hash和random load balancing中。

 

5、max_fails:表示失败几次,则标识server已宕机,踢出上游服务

6、fail_tiemout:表示失败得重试时间

        测试参考配置如下:

# worker进程设置1个,便于测试观察成功的连接数
worker_processes  1;

upstream tomcats {
        server 192.168.93.129:8080 max_fails=2 fail_timeout=15s;
        server 192.168.93.130:8080 weight=1;
        server 192.168.93.131:8080 weight=1;
}

        则代表在15秒内请求某一server失败达到2次后,则认为该server已经挂了或者宕机了,随后再过15秒,这15秒内不会有新的请求到达刚刚挂掉的节点上,而是会请求到正常运作的server,15秒后会再有新请求尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lvdapiaoliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值