升级到Varnish 6.2¶
VCL¶
Varnish 6.1的VCL程序可以在没有新版本更改的情况下运行。
VCL加载现在将发出警告,但不会像以前那样失败,如果后端声明使用 .path
字段指定Unix域套接字,但套接字文件不存在或在VCL加载时不可访问。这使得在Varnish启动或加载VCL之后,可以启动在套接字上侦听的对等组件,或设置其权限。如果在尝试回迁时无法访问套接字,则后端回迁失败。
return(miss)
从… vcl_hit{}
现已移除。实施类似功能的一种选择是:
return (restart)
fromvcl_hit{}
在……里面
vcl_recv{}
对于重新启动(当req.restarts
增加了),set req.hash_always_miss = true;
。
运行时参数¶
一些涂脂抹粉的 -p
一段时间以来不推荐使用的参数已被删除。如果您还没有更改它们,那么现在就必须进行更改。它们是:
shm_reclen
--使用 vsl_reclen 取而代之的是vcl_dir
--使用 vcl_path 取而代之的是vmod_dir
--使用 vmod_path 取而代之的是
的默认值为 thread_pool_stack 在64位平台上从48k增加到56k,在32位平台上增加到52k。请参阅下面的讨论 参数 在……里面 Varnish 6.2中的更改 了解更多细节。
VMOD标准中的类型转换函数¶
中的现有类型转换函数 VMOD标准-Varnish标准模块 已经重新制作,使它们更灵活、更易于使用。这些函数现在还接受适当的数字或数量参数。
持续时间( [STRING s] , [DURATION fallback] , [REAL real] , [INT integer] )
字节(字节 [STRING s] , [BYTES fallback] , [REAL real] , [INT integer] )
时间时间( [STRING s] , [TIME fallback] , [REAL real] , [INT integer] )
这些类型转换函数应该完全向后兼容,但应注意以下区别:
这个 fallback 不再需要。方法的情况下转换失败 fallback 参数现在将触发VCL失败。
如果没有或有多个参数(加上可选参数),也会触发VCL故障 fallback )被给出。
转换函数现在只在必要时截断(而不是舍入)。
实数舍入(实数r) 已添加用于显式舍入的。
以下函数已弃用,应由新的转换函数替换:
它们将在未来版本的Varnish中删除。
Varnishadm和CLI¶
这个 -j
JSON输出选项已添加到许多命令中,请参见 JSON输出 在……里面 Varnish 6.2中的更改 和 Varnish-CLI 。我们建议使用JSON格式自动解析CLI响应 (瓦尼沙德姆 输出)。
列出后端¶
backend.list
增加了一个额外的列,输出已更改,并且字段现在具有动态宽度:
这个
Admin
专栏现在可以准确地声明probe
仅在后端具有动态确定健康状态的某种手段的情况下。这个
Probe
列已更改为显示X/Y
,其中:整型
X
是最近窗口中良好探测的数量;或者,如果有问题的后端是控制器,则是通过该控制器或任何其他特定于控制器的指标访问的健康后端的数量。整型
Y
是定义后端总体运行状况阈值的窗口(来自.window
探头的区域,请参见 VCL );或者在控制器的情况下,通过控制器或任何其他特定于控制器的指标访问的后端的总数。
如果没有调查或导演没有提供细节,
0/0
就是输出。这个
Health
添加了一列以包含动态(探测)运行状况状态,并将格式统一为healthy
或sick
。如果没有探测器,
Health
总是以下列形式给出healthy
。请注意,如Admin
列具有优先级。
在 probe_message
领域: backend.list -j
输出,即 Probe
和 Health
列显示为数组 [X, Y, health]
。
看见 Varnish-CLI 了解更多细节。
列出VCLS¶
的非JSON输出 vcl.list
已更改:
这个
state
和temperature
字段显示在单独的列中(以前组合在一列中)。显示标签和VCL配置之间关系的可选列(在使用标签时)已分为两列。
看见 Varnish-CLI 了解更多细节。在JSON输出中 vcl.list -j
,此信息显示在不同的字段中。
中的列宽 backend.list
和 vcl.list
输出(非JSON)现在是动态的,以适应终端窗口的宽度。