zoukankan      html  css  js  c++  java
  • Nginx参数理解

    Nginx常用配置参数有upstream,主要用于均衡后端多个实例。

    Nginx的upstream 目前支持5种算法分配方式:

    1)轮询(默认rr round robin)

    将请求按时间顺序逐一分配到后端不同服务器,如果后端某台服务器down掉,就会自动剔除,待恢复自动添加上。

    2)weight 权重

    指定轮询权重,权重越高,处理的请求就越多,weight和访问比率成正比,用于后端服务器性能不均的情况。

    3)ip_hash

    每个请求根据访问的IP的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,一般用于登录会话。

    4)fail (第三方)

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    5)url_hash (第三方)

    upstream 的fail_timeout和max_fails 参数是用来判断负载均衡upstream中的某个server是否失效

    在fail_timeout时间内,nginx和upstream中的某个server的连接尝试失败了max_fails次,在nginx会认为server已经失效,在接下来fail_timeout时间内,nginx不再将请求转发给失效的server

    例如:

    upstream app {

      server 192.168.91.129:8080 weight=1 max_fails=2 fail_timeout=30s;

      server 192.168.91.130:8080 weight=1 max_fails=2 fail_timeout=30s;

    }

    app均衡后台java服务,30s秒内nginx会与后端某个server通信检测,如果在检测连接失败次数超过2次,会认定失效,剔除列表,nginx不再将请求转发给失效的server,

    fail_timeout设置时间对响应时间没有影响,这个响应时间是用 proxy_connect_timeout和proxy_read_timeout来控制的。

    proxy_connect_timeout:Nginx与后端服务器连接的超时时间,发起握手等待响应超时时间。

    proxy_read_timeout:连接成功后——等待后端服务器响应时间,其实已经进入后端排队之中等待处理(也可以说是后端服务器处理请求的时间)

    proxy_send_timeout 后端服务器数据回传时间,在规定时间之内后端服务器必须传完所有数据。

    keepalive_timeout:一个http产生的tcp连接在传送完最后一个响应后,还需要等待多少秒后,才关闭这个连接。

  • 相关阅读:
    民宿项目知识_服务器路径与文件的存储
    民宿项目_mysql_jdbc
    Apple Mach-O Linker Warning
    ios控制器视图载入周期小记
    StatusBar style的那点事
    oc--单例设计模式
    gcd笔记
    【转载】10年的程序员生涯(附带原文地址)
    NSProxy使用笔记
    UINavigationController的视图层理关系
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10924298.html
Copyright © 2011-2022 走看看