Я использую 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 что-то не так?
Не работает, потому что varnishncsa
по умолчанию использует режим "клиент".
Включите его с помощью переключателя -b
.
Впоследствии это сработает:
varnishncsa -b -F '%t "%r" %s %T %{VCL_Log:backend_name}x' | awk '$7 > 10 {print}'
Вы можете захотеть проверить полное объяснение, которое включает в себя дополнительную оптимизацию для запроса медленных запросов бэкенда.
.