漆面打通意味着什么?

由于Varnish版本3有不同的操作对象。

例如,当必须从后端检索数据时使用pass。 它在caching中发现请求内容时使用命中。

但是我不能理解hit-for-pass的用法。 当清漆使用它? 我没有在网上find任何有用的资料,这让我很清楚。

hit_for_pass对象被用来针对后端服务器优化获取过程。

对于普通的高速caching未命中,Varnish将排队所有请求相同高速caching对象的客户端,并向后端发送一个请求。 这通常是最快的,让后端工作在一个请求上,而不是同时用n个请求来淹没它。

请记住,一些后端使用大量的时间准备一个对象; 10秒并不less见。 如果这是头版HTML,并且你有3000个req​​ / s,发送一个后端请求就很有意义。

问题出现在Varnish提取了它看不到的对象之后。 原因可能是后端发送“Cache-Control:max-age = 0”,或者更常见的是Set-Cookie头。 在这种情况下,您有3000到30000个客户端(3k req / s * 10sec)在队列中闲置,每个这样的客户端同样缓慢的一次性后端请求必须完成才能提供服务。 这将破坏您的网站响应时间。

所以Varnish通过创build一个hit_for_pass对象来保存这个请求不能被caching的决定。

在对同一个URL的下一个请求中,caching查找将返回一个hit_for_pass对象。 这表示可以同时进行多次提取。 你的后端可能不太高兴,但至lessVarnish没有排队的客户没有理由。