Как я устанавливаю ответ лака TTL динамично?

lsof процесс для получения сетевых портов, которые использует proc. После того как Вы знаете, какие порты используются, можно использовать правила IPTABLES для ограничения скорости эти порты. Эти статьи должны дать Вам лучшее представление: http://linux-ip.net/articles/Traffic-Control-HOWTO/ http://blog.edseek.com/~jasonb/articles/traffic_shaping/ http://wikis.sun.com/pages/viewpage.action?pageId=49906332

7
задан 29 May 2013 в 17:07
2 ответа

В модуле vmod_std есть функция, которая должна делать то, что вы ищете.

import std; в верхней части VCL, затем это должно работать:

sub vcl_fetch
{
    set beresp.ttl = std.duration(beresp.http.X-Cache-ttl, 1h);
}

.. где 1h - ваше значение по умолчанию, если заголовок не установлен.

9
ответ дан 2 December 2019 в 23:31

Согласно документации Varnish вы можете использовать заголовок Cache-Control .

Cache-Control

The 'Cache-Control 'указывает кэшам, как обрабатывать контент. Varnish заботится о параметре максимального возраста и использует его для расчета TTL для объекта.

Поэтому убедитесь, что вы задали заголовок 'Cache-Control' с заголовком max-age. Вы можете посмотреть, с чем сталкивается сервер Drupal Varnish Software:

$ GET -Used http://www.varnish-software.com/|grep ^Cache-Control
Cache-Control: public, max-age=600

https://github.com/varnishcache/varnish-cache/blob/master/doc/sphinx/users-guide/increasing-your-hitrate.rst

1
ответ дан 2 December 2019 в 23:31

Теги

Похожие вопросы