【问题标题】:ELB Keep-Alive Timeout: Varnish Configuration AssistanceELB 保活超时:清漆配置协助
【发布时间】:2017-01-22 08:39:53
【问题描述】:

我正在寻找配置 Varnish 以优化保持活动超时设置以与我的 ELB 一起使用。 ELB 使用 Varnish 作为后端(为 Tomcat 提供缓存)。

在 Tomcat 中已经设置了 120s 的 keep-alive 超时值。通过该端口测试它可以正常工作。

# time telnet XXX.XX.XX.XX 8080
Trying XXX.XX.XX.XX...
Connected to XXX.XX.XX.XX
Escape character is '^]'.
Connection closed by foreign host.

real    2m0.038s
user    0m0.002s
sys     0m0.004s

当我们尝试通过 Varnish 端口 9000 建立连接时,会在 6 秒内超时

[root@dev-server ~]# time telnet XXX.XX.XX.XX 9000
Trying XXX.XX.XX.XX...
Connected to XXX.XX.XX.XX.
Escape character is '^]'.
Connection closed by foreign host.

real    0m6.093s
user    0m0.001s
sys     0m0.005s

检查了 Varnish 的几个选项,但似乎没有任何效果。

我的后端 default.vcl 配置如下

backend Example {
    .host = "localhost";
    .port = "8080";
    .connect_timeout = 600s;
    .first_byte_timeout = 600s;
    .between_bytes_timeout = 600s;
    .probe = {
        .url = "/service/search/test";
        .timeout = 500ms;
        .interval = 5s;
        .window = 10;
        .threshold = 8;
    }
}

一些论坛建议使用 idle_timeout 或 sess_timout,但这些都不是可接受的变量。 我正在运行 Varnish 3.0.7,现在没有升级计划。

根据 AWS 支持,他们建议 ELB 空闲超时 + 1 秒用于 keepalive 超时,一般情况下请求超时加倍。

例如;

ELB idle timeout = 60 s
Request timeout = 120 s
KeepAlive timeout = 61 s

我们已经正确设置了 ELB 超时,但只需要弄清楚我们如何在 Varnish 中设置它,因为连接会在 6 秒内关闭。 理想情况下,我们希望它在 120 秒内关闭(在 Tomcat 中设置相同的值)

您的帮助将不胜感激。 谢谢

【问题讨论】:

    标签: amazon-web-services varnish tomcat8 varnish-vcl


    【解决方案1】:

    几个论坛的建议是正确的,timeout_idle(以前在 Varnish 3 中称为sess_timeout)是您要寻找的设置:

    • 单位:秒
    • 默认值:5

    持久会话的空闲超时。如果在这么多秒内没有收到 HTTP 请求,则会话关闭。

    但是,请注意这是一个 varnishd 参数,而不是 VCL 设置,因此它不会进入您的 VCL,而是作为命令行参数传递给 varnishd

    要应用,请将-p sess_timeout=61 添加到传递给varnishd 的命令行参数列表中。 (通常,此参数将添加到您的发行版的 configuration file that starts varnish,例如,在较旧的 Debian/Ubuntu 上为 /etc/default/varnish)。

    您需要记住重启varnishd 进程(例如,Debian/Ubuntu 上的sudo service varnish restart)以使设置生效。

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 1970-01-01
      • 2020-06-13
      • 2012-09-21
      • 1970-01-01
      • 2015-04-03
      • 2016-05-06
      • 2019-08-26
      • 2013-06-22
      相关资源
      最近更新 更多