Как записать имя серверной части, ответившей на запрос

Я использую varnishncsa для регистрации запросов, на которые требуется много времени для ответа на моих внутренних серверах, используя следующую команду:

varnishncsa -F '%t "%r" %s %T' | awk '$7 > 10 {print}'

Я пытался добавить информацию об имени серверной части, но это не отображается в выводе varnishncsa :

sub vcl_backend_response {
    std.log("backend_name:" + beresp.backend.name);
}

what I ' m что-то не так?

1
задан 16 March 2017 в 19:31
1 ответ

Не работает, потому что varnishncsa по умолчанию использует режим "клиент". Включите его с помощью переключателя -b.

Впоследствии это сработает:

varnishncsa -b -F '%t "%r" %s %T %{VCL_Log:backend_name}x' | awk '$7 > 10 {print}'

Вы можете захотеть проверить полное объяснение, которое включает в себя дополнительную оптимизацию для запроса медленных запросов бэкенда.

.
1
ответ дан 3 December 2019 в 23:32

Теги

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