• 2.6 upstream指令参数说明


    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

         

            测试参考配置如下:

    1. # worker进程设置1个,便于测试观察成功的连接数
    2. worker_processes 1;
    3. upstream tomcats {
    4. server 192.168.93.129:8080 max_conns=2;
    5. server 192.168.93.130:8080 max_conns=2;
    6. server 192.168.93.131:8080 max_conns=2;
    7. }

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

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

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

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

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

    3. 使用:

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

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

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

            测试参考配置如下:

    1. # worker进程设置1个,便于测试观察成功的连接数
    2. worker_processes 1;
    3. upstream tomcats {
    4. server 192.168.93.129:8080 weight=2 slow_start=60s;
    5. server 192.168.93.130:8080 weight=2;
    6. server 192.168.93.131:8080 weight=2;
    7. }

    3、down

    ●    指令参数down

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

            测试参考配置如下:

    1. # worker进程设置1个,便于测试观察成功的连接数
    2. worker_processes 1;
    3. upstream tomcats {
    4. server 192.168.93.129:8080 down;
    5. server 192.168.93.130:8080 weight=1;
    6. server 192.168.93.131:8080 weight=1;
    7. }

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

    4、backup

    ●    指令参数backup

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

            测试参考配置如下:

    1. # worker进程设置1个,便于测试观察成功的连接数
    2. worker_processes 1;
    3. upstream tomcats {
    4. server 192.168.93.129:8080 backup;
    5. server 192.168.93.130:8080 weight=1;
    6. server 192.168.93.131:8080 weight=1;
    7. }

    注意:

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

     
    

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

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

            测试参考配置如下:

    1. # worker进程设置1个,便于测试观察成功的连接数
    2. worker_processes 1;
    3. upstream tomcats {
    4. server 192.168.93.129:8080 max_fails=2 fail_timeout=15s;
    5. server 192.168.93.130:8080 weight=1;
    6. server 192.168.93.131:8080 weight=1;
    7. }

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

  • 相关阅读:
    poi多sheet,模板导出数据
    mysql基础问题三问(底层逻辑;正在执行;日志观察)
    20 个超级有用的 JavaScript 技巧,让你的工作更轻松
    【Fiddler Everywhere】2022最强抓包工具(安装 修改教程)
    开放签开源电子签章白皮书-简版
    《异常检测——从经典算法到深度学习》20 HotSpot:多维特征 Additive KPI 的异常定位
    SQLMAP自动注入-优化参数
    JAVA+SpringBoot心灵心理健康平台(心灵治愈交流平台)(含论文)源码
    用户请求到响应可能存在的五级缓存
    Spring MVC 高级框架的核心
  • 原文地址:https://blog.csdn.net/Xx13624558575/article/details/126328708