Varnish 6.4.0中的更改¶
有关将当前Varnish部署更新到新版本的信息,请参见 升级到Varnish 6.4.0 。
有关Varnish更改的更详细的技术说明,以及指向已修复的问题和已合并的拉入请求的链接,请参阅 change log 。
华而不实¶
臭虫¶
已经修复了许多错误。
泛型参数处理¶
有些参数有依赖关系,现在有了更好的文档记录。例如 thread_pool_min 不能增加到以上 thread_pool_max ,现已在手册中注明。
在运行的Varnish实例上, param.show
命令将显示实际的最小值或最大值,但尝试 param.set
如果参数高于或低于其动态最大值或最小值,则会在错误消息中指出失败原因:
varnish> param.show thread_pool_reserve
200
thread_pool_reserve
Value is: 0 [threads] (default)
Maximum is: 95
[...]
varnish> param.show thread_pool_min
200
thread_pool_min
Value is: 100 [threads] (default)
Maximum is: 5000
[...]
varnish> param.set thread_pool_reserve 100
106
Must be no more than 95 (95% of thread_pool_min)
(attempting to set param 'thread_pool_reserve' to '100')
期待在未来的版本中有进一步的改进。
参数¶
提高了 vcl_cooldown 参数设置为1秒。
行为的改变¶
这个
if-range
现在处理标头,允许客户端有条件地请求基于日期或ETag的范围。输出VCC警告也适用于通过
varnishd -f
选择权
对VCL的更改¶
“无后端”的新语法::
backend dummy none; sub vcl_recv { set req.backend_hint = dummy; }
无论何时出于语法原因需要后端,都可以使用它。这个
none
后端将失败的任何尝试使用它。另一个目的是避免在不需要时声明伪后端:例如,活动的VCL只将请求传递给具有return (vcl(...))
语法或设置依赖于来自VMOD的动态后端。std.rollback(bereq)
现在可以安全使用了,请参见 VMOD标准-Varnish标准模块 了解更多细节。故意通过以下方式关闭后端请求
return(abandon)
,return(fail)
或return(error)
不再被视为提取失败。数字表达式现在可以是负数或负数,如下所示
set resp.http.ok = -std.integer("-200");
。这个
+=
运算符现在可用于标题和响应正文::set resp.http.header += "string";
VCL变量¶
添加更多针对超时的VCL控制
sess.timeout_linger
,sess.send_timeout
和sess.idle_send_timeout
变量以相同的名称对应参数。
VMODs¶
已导入 VMOD Cookie-Varnish Cookie模块 从… varnish_modules
以前不推荐使用的函数
cookie.filter_except()
已在导入过程中删除。它被替换为cookie.keep()
Varnishlog¶
A
Notice
已添加VSL标签。如果日志记录使用“双引号”分隔,则它们可以安全地包含空字段或包含空格的字段。这一点适用于
SessError
和Backend_health
。
瓦尼沙德姆¶
新的
pid
命令,以获取主进程ID并可选地缓存进程ID,例如从varnishadm
。
Varnish状态¶
添加vi样式的CTRL-f/CTRL-b用于向下/向上翻页到交互
varnishstat
。这个
MAIN.sess_drop
柜台不见了。增列
rx_close_idle
单独记账的计数器在以下情况下sess.timeout_idle
/ timeout_idle 已经到达了。sess.send_timeout
/ send_timeout 被联系不再被报告为MAIN.sc_rem_close
,但作为MAIN.sc_tx_error
。