Varnish从3.0升级至5.2:expiry_sleep与queue_max参数替代方案咨询
Varnish 3.0 → 5.2 升级:expiry_sleep 与 queue_max 参数替换指南
嘿,刚好对Varnish版本迭代里的参数变化比较熟悉,这俩参数的替代方案给你理清楚:
关于 expiry_sleep 的替换
在Varnish 4.0及之后的版本中,expiry_sleep这个参数被移除了,它的功能完全被ban_lurker_sleep接管。这个参数的作用是控制后台清理过期缓存/ban对象的线程休眠间隔,你直接把原来的-p expiry_sleep=0.01替换成-p ban_lurker_sleep=0.01就行,取值逻辑和之前完全一致。
关于 queue_max 的替换
queue_max在新版本中改名为thread_pool_queue_max,它的作用还是控制每个线程池的请求队列最大长度,没有功能变化,只是命名更规范了。把原来的-p queue_max=300改成-p thread_pool_queue_max=300就可以了。
修改后的完整配置示例
原配置:
DAEMON_OPTS="-a ${ADDRESS} \ -p connect_timeout=2\ -p sess_timeout=10\ -p syslog_cli_traffic=off\ -p expiry_sleep=0.01\ -p queue_max=300"
调整后的配置:
DAEMON_OPTS="-a ${ADDRESS} \ -p connect_timeout=2\ -p sess_timeout=10\ -p syslog_cli_traffic=off\ -p ban_lurker_sleep=0.01\ -p thread_pool_queue_max=300"
最后提醒下:升级后建议先执行varnishd -C -f /etc/varnish/default.vcl(如果你的VCL配置在默认路径)来检查配置语法是否正确,没问题再重启Varnish服务哦。
内容的提问来源于stack exchange,提问作者Bohumil Havlíček
相关产品推荐
相关产品推荐

