- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望配置 Varnish 以优化保持事件超时设置以与我的 ELB 一起使用。ELB 使用 Varnish 作为后端(为 Tomcat 提供缓存)。
Tomcat 内部设置了 120s 的 keep-alive timeout 值。测试它通过那个端口工作正常。
# 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 秒用于保持事件超时,一般请求超时加倍。
例如;
ELB idle timeout = 60 s
Request timeout = 120 s
KeepAlive timeout = 61 s
我们正确设置了 ELB 超时,但只需要弄清楚我们如何在 Varnish 中设置它,因为连接会在 6 秒内关闭。理想情况下,我们希望它在 120 秒内关闭(与 Tomcat 中设置的值相同)
您的帮助将不胜感激。谢谢
最佳答案
几个论坛的建议都是对的,timeout_idle
(以前在 Varnish 3 中称为 sess_timeout
)是您正在寻找的设置:
- Units: seconds
- Default: 5
Idle timeout for persistent sessions. If a HTTP request has not been received in this many seconds, the session is closed.
但是,请注意,这是一个 varnishd
参数而不是 VCL 设置,因此它不会进入您的 VCL,而是作为命令行参数传递给 varnishd
.
要应用,请将 -p sess_timeout=61
添加到传递给 varnishd
的命令行参数列表中。 (通常这个参数会被添加到您的发行版的 configuration file that starts varnish 中,例如,旧版 Debian/Ubuntu 上的 /etc/default/varnish
)。
您需要记住重新启动 varnishd
进程(例如,sudo service varnish restart
在 Debian/Ubuntu 上)以使设置生效。
关于amazon-web-services - ELB 保活超时 : Varnish Configuration Assistance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39492154/
有人知道是否可以更改 VisualAssist X 存储其符号数据库的文件夹吗? 默认情况下它在 \VisualAssist 最佳答案 取决于 VA 和 Visual Studio 的版本。见 thi
有人知道google assistant SDK可以商用吗? 如果可用,我如何购买其许可证? 最佳答案 根据 Google Assistant SDK Terms of Service ,未经 Goo
使用本指南在我的 pi 上安装 Google 助手:https://developers.google.com/assistant/sdk/guides/library/python/embed/ru
我正在尝试使用元数据定义实体值之间的一些关系。 我已使用 Watson API v1 将元数据上传到实体值。当我通过相同的 API 列出实体时,我可以看到元数据。不过,我无法从 Watson Assi
QT4.8 你好,我正在使用 QProcess 模式连接到 QT-Assistent。 例如(来自QT文档) QProcess *process = new QProcess; QStringList
好的,我一直在我的 Windows 10 PC 上安装 Google 智能助理,但遇到了多个错误,最后一个错误我通过转到此处解决:Google Assistant Installation on Py
我只熟悉Watson Assistant因为我已经用它做了一些工作,但我从未使用过 Watson Assistant Solutions。 它是基于 Watson Assistant 的新 API 还
我有一个应用程序,它使用(完全用户友好的)系统范围键盘 Hook 来实现辅助功能。 当应用程序启动时,我检查是否选中了“启用辅助设备访问”设置,正如其他人在这里询问的那样:Programmatical
我有一堂这样的课: package crossRoadConcurency; import java.util.List; public class TourGuide { private v
目前,谷歌助手SDK接受语音输入,这意味着我的问题相当简单:我想与谷歌助手交谈但不使用语音,只是聊天。这当然是可能的,例如,在 Google Allo 中。谷歌是否公开了用于文本输入的 API? 最佳
我目前正在尝试在一个小型应用程序中使用 Google Guice-3.0。 运行此应用程序时,系统会提示用户输入其姓名和密码。由于此信息直到运行时才知道,所以我使用 AssistedInject实现我
每次我启动Eclipse并按Ctrl + Space时,都会收到以下3个警告弹出窗口。 http://imgur.com/a/2pKdm 它们仅在我第一次按Ctrl + Space时出现。 自重新安装
我使用 Watson Assistant 创建了一个聊天机器人。我通过 API 调用使用它。 假设有两个不同的人想要同时使用我的聊天机器人。那么我必须做什么才能让 Watson 明白是两个不同的人正在
这个问题是关于 Guice @Assisted 和 @Provides 的正确用法以及如何使用。 我目前引用的设计是这样的:层次结构顶部的类也是唯一暴露给客户端的类(基本上是公共(public) AP
在我的 Android 项目中,我们最近在文档之后添加了语音搜索。它工作正常,但仅在搜索一个词时有效。这似乎不是预期的行为,因为在 Google 的示例中他们搜索“毛伊岛之旅”。 我们使用 Googl
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我已经尝试了我发现的每一个简单的组合,但不确定如何做到这一点。我什至尝试模拟家庭长按,但你现在得到谷歌语音,看看 logcat 它显示了这个 com.google.android.googlequic
就在 iPhone 应用程序中为用户提供漂亮的文本弹出窗口而言,在用户单击帮助图标后,人们推荐什么方法/样式? 在我看来(关于用户体验)我会想到这样的话: 有一个细边框,周围有圆边 占据了大部分屏幕
我有一个 UITableView,每个 UITableViewCell 都有一个像背景 UIView 一样的黑卡。黑卡并非完全不透明,而是具有 0.6 的 alpha。当我上下移动滚动条时,一切看起来
我们将 Qt 助手用作新的帮助文件系统。但由于我们拥有国际客户群,我们希望以不同的语言启动 Qt 助手。 如您在下面的代码片段中所见,使用生成的 QHC 文件启动助手根本不是问题。 QProce
我是一名优秀的程序员,十分优秀!