• Varnish 503错误


    网站中应用了varnish,若没出现过503错误,可以说要么是网站流量与压力不大或从一开始就应用了解决503错误的方案

    (新浪微博,前不久在迁移时,也出现过^_^)
    那么倒底什么是503错误呢
    503(服务不可用)服务器目前无法使用(由于超载或停机维护)。通常这是瞬间状态,刷新一下又好了
    varnish server 返回异常信息如下

    一、什么原因导致503错误
      下面列出常见几种类型
      1. 服务器上相关应用停止或没有了
      2. 请求超时
      3. 对请求响应时间超时
      4. 服务器本身问题
      5. 其他
    二、解决方案
      针对上面几个原因,提出解决方法
      1. 检查应用:
         1)到实际Web Server上检查web应用程序是否存在
         2)web 应用程序是否运行正常
      2. 请求超时,这里指域名解析与路由、网络连接建立时间
         设置适当超时时间
         关键两个参数 connect_timeout,http_req_hdr_len
         如 connect_timeout=20s http_req_hdr_len=8192
      3. 响应超时,与包括响应时间,响应内容大小等主要参数有关
         可设置两个参数 http_resq_hdr_len=8192, first_byte_timeout=60s
      4.服务器本身问题
        需检查系统日志,如apache 日志
      5.其他情况,如排查所有F5b的负载均衡策略,关闭cookie

    三、varnish相关参数的设置
        可以在backend 定义中设置,如
       backend mydomain{
        .host = "127.0.0.4";
        .port = "80";
        .connect_timeout = 600s;
        .first_byte_timeout = 600s;
        .between_bytes_timeout = 600s;
       }
      但从实际结果看,有时在vcl脚本中的设置,可能不生效
      所以可考虑在运行参数中增加这些设置
      如,varnishd  xxxx -p connect_timeout=20s
      到这里有人可能会有疑问,为什么要设置这些值,Varnish没有默认值吗
      实际是有默认值,但有个别参数值需要考虑实际情况,比如connect_timeout默认值为0.7s
      若你的网络环境中,无法保证每次请求connect 时间都在 0.7s以内,那么就需要调整这个参数值

  • 相关阅读:
    2019ICPC徐州 H.Yuuki and a problem
    wprintf 输出中文
    bit数组
    Vs2010 Atl工程手工添加连接点
    dll非模态窗口不响应按钮消息
    VC中给控件添加ToolTip
    在Dialog中添加工具条
    在Dialog中添加状态栏
    Vc添加快捷键
    在VC中调用COM组件的方法
  • 原文地址:https://www.cnblogs.com/kcen/p/varnish503_error.html
Copyright © 2020-2023  润新知