什么是清漆中的管道模式和通过模式

时间:2014-03-19 06:25:53

标签: varnish varnish-vcl

varnish-cache中的管道模式和传递模式是什么...我一直在尝试引用此链接来理解清漆。我有点理解通过,但我想要一个更好的解释.. http://spin.atomicobject.com/2013/01/16/speed-up-website-varnish/

1 个答案:

答案 0 :(得分:26)

传递模式在Varnish中很常见,只是告诉Varnish将请求传递给后端而不是尝试从缓存中提供它。这用于不应缓存的动态页面。例如:

sub vcl_recv {
    if (req.url ~ "^/myprofile") {
        return (pass)
    }
}

管道模式完全不同,很少使用。如果要流式传输对象(如视频),则需要使用管道来避免超时。使用pipe表示Varnish停止检查每个请求,并直接将字节发送到后端。使用pipe时有多个陷阱,所以请务必在Varnish文档中查看using pipe

示例:

sub vcl_recv {
    if (req.url ~ "^/video/stream/") {
        return (pipe)
    }
}

sub vcl_pipe {
    # http://www.varnish-cache.org/ticket/451
    # This forces every pipe request to be the first one.
    set bereq.http.connection = "close";
}