Spec-Zone.ru › Varnish

VSL

Varnish Общий Лог Памяти

Руководство:

7

ОБЗОР

В этом документе описывается формат и содержание всех тегов логгирования Varnish общей памяти. Эти теги используются средствами логгирования varnishlog(1), varnishtop(1) и т. д., поставляемыми с Varnish.

Теги VSL

BackendClose - Закрытие подключения к бэкенду

Регистрируется при закрытии подключения к бэкенду.

Формат:

%d %s %s [ %s ]
|  |  |    |
|  |  |    +- Optional reason
|  |  +------ "close" or "recycle"
|  +--------- Backend display name
+------------ Connection file descriptor
BackendOpen - Открытие подключения к бэкенду

Регистрируется при открытии нового подключения к бэкенду.

Формат:

%d %s %s %s %s %s %s
|  |  |  |  |  |  |
|  |  |  |  |  |  +- "connect" or "reuse"
|  |  |  |  |  +---- Local port
|  |  |  |  +------- Local address
|  |  |  +---------- Remote port
|  |  +------------- Remote address
|  +---------------- Backend display name
+------------------- Connection file descriptor
Backend_health - Проверка работоспособности бэкенда

Результат проверки работоспособности бэкенда.

Формат:

%s %s %s %s %u %u %u %f %f %s
|  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  +- Probe HTTP response / error information
|  |  |  |  |  |  |  |  +---- Average response time
|  |  |  |  |  |  |  +------- Response time
|  |  |  |  |  |  +---------- Probe window size
|  |  |  |  |  +------------- Probe threshold level
|  |  |  |  +---------------- Number of good probes in window
|  |  |  +------------------- Probe window bits
|  |  +---------------------- "healthy" or "sick"
|  +------------------------- "Back", "Still" or "Went"
+---------------------------- Backend name

Биты окна проверки:

'-': Could not connect
'4': Good IPv4
'6': Good IPv6
'U': Good UNIX
'x': Error Xmit
'X': Good Xmit
'r': Error Recv
'R': Good Recv
'H': Happy

Когда бэкенд только создан, биты окна для слотов проверки работоспособности, которые ещё не были запущены, отображаются как «-», как неудачные подключения.

Begin - Отметка начала транзакции VXID

Первый запис транзакции VXID.

Формат:

%s %d %s [%u]
|  |  |   |
|  |  |   +- Task sub-level
|  |  +----- Reason
|  +-------- Parent vxid
+----------- Type ("sess", "req" or "bereq")
BereqAcct - Учет запросов бэкенда

Содержит счетчики байтов из обработки запросов бэкенда.

Формат:

%d %d %d %d %d %d
|  |  |  |  |  |
|  |  |  |  |  +- Total bytes received
|  |  |  |  +---- Body bytes received
|  |  |  +------- Header bytes received
|  |  +---------- Total bytes transmitted
|  +------------- Body bytes transmitted
+---------------- Header bytes transmitted
BereqHeader - Заголовок запроса бэкенда

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

BereqMethod - Метод запроса бэкенда

Используемый HTTP-метод запроса.

BereqProtocol - Протокол запроса бэкенда

Информация о версии HTTP-протокола.

BereqURL - URL запроса бэкенда

URL HTTP-запроса.

BereqUnset - Неустановленный заголовок запроса бэкенда

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

BerespHeader - Заголовок ответа бэкенда

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

BerespProtocol - Протокол ответа бэкенда

Информация о версии HTTP-протокола.

BerespReason - Причина ответа бэкенда

Строка причины HTTP-ответа.

BerespStatus - Код состояния ответа бэкенда

Код состояния HTTP-ответа.

BerespUnset - Неустановленный заголовок ответа бэкенда

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

BogoHeader - Полученный некорректный HTTP-заголовок

Содержит первые 20 символов полученных HTTP-заголовков, которые не удалось обработать. Применяется к req.http и beresp.http.

CLI - Взаимодействие CLI

Взаимодействие CLI между varnishd master и дочерним процессом.

Debug - Сообщения отладки

Сообщения отладки обычно можно игнорировать, но иногда они полезны при устранении неполадок. Большинство сообщений отладки необходимо явно включить с параметрами.

Сообщения отладки могут быть добавлены, изменены или удалены без предварительного уведомления и не должны считаться стабильными.

ПРИМЕЧАНИЕ: Эта запись лога по умолчанию скрыта.

ESI_xmlerror - Ошибка или предупреждение парсера ESI

Во время парсинга объекта ESI была сгенерирована ошибка или предупреждение. Запись лога описывает возникшую проблему.

End - Отметка окончания транзакции VXID

Последняя запись транзакции VXID.

Error - Сообщения об ошибках

Сообщения об ошибках, которые, вероятно, вам нужно знать.

ExpBan - Объект удалён из-за запрета

Регистрирует VXID, когда объект заблокирован.

ExpKill - Событие истечения срока действия объекта

Регистрирует события, связанные с истечением срока действия объекта. События:

EXP_Rearm

Регистрируется при изменении срока действия объекта.

EXP_Inbox

Регистрируется, когда поток истечения срока действия выбирает объект из ящика входящих сообщений для обработки.

EXP_Kill

Регистрируется, когда поток истечения срока действия уничтожает объект из ящика входящих сообщений.

EXP_When

Регистрируется, когда поток истечения срока действия перемещает объект в кучу.

EXP_Expired

Регистрируется, когда поток истечения срока действия истекает для объекта.

LRU_Cand

Регистрируется, когда объект оценивается для принудительного истечения срока действия LRU.

LRU

Регистрируется, когда объект принудительно истекает из-за LRU.

LRU_Fail

Регистрируется, когда подходящий кандидат для принудительного истечения срока действия LRU не найден.

Формат:

EXP_Rearm p=%p E=%f e=%f f=0x%x
EXP_Inbox p=%p e=%f f=0x%x
EXP_Kill p=%p e=%f f=0x%x
EXP_When p=%p e=%f f=0x%x
EXP_Expired x=%u t=%f
LRU_Cand p=%p f=0x%x r=%d
LRU x=%u
LRU_Fail

Legend:
p=%p         Objcore pointer
t=%f         Remaining TTL (s)
e=%f         Expiry time (unix epoch)
E=%f         Old expiry time (unix epoch)
f=0x%x       Objcore flags
r=%d         Objcore refcount
x=%u         Object VXID
FetchError - Ошибка при извлечении объекта

Регистрирует сообщение об ошибке при неудачной операции извлечения.

Сообщения об ошибках должны быть понятны, но ошибки класса http соединения (HTC) отображаются этими символами:

  • junk (-5): Получены неожиданные данные
  • close (-4): Подключение закрыто
  • timeout (-3): Истекло время ожидания
  • overflow (-2): Буфер/рабочая область слишком мала
  • eof (-1): Неожиданный конец ввода
  • empty (0): Пустой ответ
  • more (1): Требуются дополнительные данные
  • complete (2): Данные завершены (без ошибки)
  • idle (3): Подключение было закрыто во время ожидания

Обратите внимание, что некоторые ошибки HTC никогда не генерируются.

Fetch_Body - Тело, полученное от бэкенда

Готово извлечь тело из бэкенда.

Формат:

%d %s %s
|  |  |
|  |  +---- 'stream' or '-'
|  +------- Text description of body fetch mode
+---------- Body fetch mode
Filters - Фильтры тела

Список фильтров, примененных к телу

Gzip - Сжатие/распаковка Gzip объекта

Запись Gzip генерируется для каждого случая сжатия или распаковки gzip. В худшем случае, транзакция ESI, хранящаяся в сжатых gzip объектах, но передающаяся в виде распакованных gzip, может генерировать много таких записей.

Формат:

%c %c %c %d %d %d %d %d
|  |  |  |  |  |  |  |
|  |  |  |  |  |  |  +- Bit length of compressed data
|  |  |  |  |  |  +---- Bit location of 'last' bit
|  |  |  |  |  +------- Bit location of first deflate block
|  |  |  |  +---------- Bytes output
|  |  |  +------------- Bytes input
|  |  +---------------- 'E': ESI, '-': Plain object
|  +------------------- 'F': Fetch, 'D': Deliver
+---------------------- 'G': Gzip, 'U': Gunzip, 'u': Gunzip-test

Примеры:

U F E 182 159 80 80 1392
G F E 159 173 80 1304 1314
H2RxBody - Полученное тело кадра HTTP2

Двоичные данные

H2RxHdr - Полученный заголовок кадра HTTP2

Двоичные данные

H2TxBody - Переданное тело кадра HTTP2

Двоичные данные

H2TxHdr - Переданный заголовок кадра HTTP2

Двоичные данные

Hash - Значение, добавленное в хеш

Это значение было добавлено в хеш поиска объекта.

ПРИМЕЧАНИЕ: Эта запись лога по умолчанию скрыта.

Hit - Попадание в кэш объекта

Объект найден в кэше.

Формат:

%u %f %f %f [%u [%u]]
|  |  |  |   |   |
|  |  |  |   |   +- Content length
|  |  |  |   +----- Fetched so far
|  |  |  +--------- Keep period
|  |  +------------ Grace period
|  +--------------- Remaining TTL
+------------------ VXID of the object
HitMiss - Попадание в кэш для пропущенного объекта.

Объект hit-for-miss найден в кэше.

Формат:

%u %f
|  |
|  +- Remaining TTL
+---- VXID of the object
HitPass - Попадание в кэш для пропущенного объекта.

Объект hit-for-pass найден в кэше.

Формат:

%u %f
|  |
|  +- Remaining TTL
+---- VXID of the object
HttpGarbage - Неразборчивый HTTP-запрос

Регистрирует содержимое неразборчивых HTTP-запросов.

Length - Размер тела объекта

Регистрирует размер тела извлечённого объекта.

Link - Связи с дочерним VXID

Связывает этот VXID с любым дочерним VXID, который он инициирует.

Формат:

%s %d %s [%u]
|  |  |   |
|  |  |   +- Child task sub-level
|  |  +----- Reason
|  +-------- Child vxid
+----------- Child type ("sess", "req" or "bereq")
LostHeader - Неудачная попытка установки HTTP-заголовка

Регистрирует имя заголовка неудачной операции установки HTTP-заголовка из-за исчерпания ресурсов или заданных лимитов.

Notice - Информационные сообщения об обработке запроса

Информационные сообщения лога о событиях, произошедших во время обработки запроса.

Формат:

%s: %s
|   |
|   +- Short description of the notice message
+----- Manual page containing the detailed description

См. раздел NOTICE MESSAGES ниже или отдельные страницы руководства VMOD для подробной информации о сообщениях уведомлений.

ObjHeader - Заголовок объекта

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

ObjProtocol - Протокол объекта

Информация о версии HTTP-протокола.

ObjReason - Причина объекта

Строка причины HTTP-ответа.

ObjStatus - Статус объекта

Код состояния HTTP-ответа.

ObjUnset - Неустановленный заголовок объекта

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

PipeAcct - Счетчики байтов трубы

Содержит счетчики байтов для сессий трубы.

Формат:

%d %d %d %d
|  |  |  |
|  |  |  +------- Piped bytes to client
|  |  +---------- Piped bytes from client
|  +------------- Backend request headers
+---------------- Client request headers
Proxy - Информация о PROXY протоколе

Информация о PROXY протоколе.

Формат:

%d %s %d %s %d
|  |  |  |  |
|  |  |  |  +- server port
|  |  |  +---- server ip
|  |  +------- client port
|  +---------- client ip
+------------- PROXY protocol version

All fields are "local" for PROXY local connections (command 0x0)
ProxyGarbage - Неразборчивый запрос PROXY

Заголовок PROXY протокола не был распознан.

ReqAcct - Счетчики байтов обработки запроса

Содержит счетчики байтов для обработки запроса. Количество байтов тела включает в себя накладные расходы передачи (например, кодирование по частям). Подзапросы ESI показывают количество байтов тела этого фрагмента ESI, включая все вложенные фрагменты, внесённые в основной запрос. Формат:

%d %d %d %d %d %d
|  |  |  |  |  |
|  |  |  |  |  +- Total bytes transmitted
|  |  |  |  +---- Body bytes transmitted
|  |  |  +------- Header bytes transmitted
|  |  +---------- Total bytes received
|  +------------- Body bytes received
+---------------- Header bytes received
ReqHeader - Заголовок запроса клиента

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

ReqMethod - Метод запроса клиента

Используемый HTTP-метод запроса.

ReqProtocol - Протокол запроса клиента

Информация о версии HTTP-протокола.

ReqStart - Начало запроса клиента

Начало обработки запроса. Регистрирует адрес клиента, номер порта и имя конечной точки прослушивателя (из аргумента командной строки -a).

Формат:

%s %s %s
|  |  |
|  |  +-- Listener name (from -a)
|  +----- Client Port number (0 for Unix domain sockets)
+-------- Client IP4/6 address (0.0.0.0 for UDS)
ReqURL - URL запроса клиента

URL HTTP-запроса.

ReqUnset - Неустановленный заголовок запроса клиента

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

RespHeader - Заголовок ответа клиента

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

RespProtocol - Протокол ответа клиента

Информация о версии HTTP-протокола.

RespReason - Причина ответа клиента

Строка причины HTTP-ответа.

RespStatus - Код состояния ответа клиента

Код состояния HTTP-ответа.

RespUnset - Неустановленный заголовок ответа клиента

Содержимое HTTP-заголовка.

Формат:

%s: %s
|   |
|   +- Header value
+----- Header name

ПРИМЕЧАНИЕ: поля HTTP-заголовка — свободные записи и не состоят строго из 2 полей. Доступ к определённому заголовку с префиксной нотацией помогает рассматривать значение заголовка как одну строку.

SessClose - Закрытие соединения клиента

SessClose — последний запрос для любого подключения клиента.

Формат:

%s %f
|  |
|  +- How long the session was open
+---- Why the connection closed
SessError — Не удалось принять подключение клиента

Принятие подключения клиента не удалось.

Формат:

%s %s %s %d %d %s
|  |  |  |  |  |
|  |  |  |  |  +- Detailed error message
|  |  |  |  +---- Error Number (errno) from accept(2)
|  |  |  +------- File descriptor number
|  |  +---------- Local TCP port / 0 for UDS
|  +------------- Local IPv4/6 address / 0.0.0.0 for UDS
+---------------- Socket name (from -a argument)
SessOpen — Подключение клиента открыто

Первый запрос для подключения клиента с конечными точками сокета подключения.

Формат:

%s %d %s %s %s %f %d
|  |  |  |  |  |  |
|  |  |  |  |  |  +- File descriptor number
|  |  |  |  |  +---- Session start time (unix epoch)
|  |  |  |  +------- Local TCP port / 0 for UDS
|  |  |  +---------- Local IPv4/6 address / 0.0.0.0 for UDS
|  |  +------------- Socket name (from -a argument)
|  +---------------- Remote TCP port / 0 for UDS
+------------------- Remote IPv4/6 address / 0.0.0.0 for UDS
Storage — Место хранения объекта

Тип и имя хранилища, в котором хранится объект.

Формат:

%s %s
|  |
|  +- Name of storage backend
+---- Type ("malloc", "file", "persistent" etc.)
TTL — Установленное время жизни объекта

Запись TTL генерируется всякий раз, когда устанавливаются значения ttl, grace или keep объекта, а также когда устанавливается возможность кеширования объекта.

Формат:

%s %d %d %d %d [ %d %d %u %u ] %s
|  |  |  |  |    |  |  |  |    |
|  |  |  |  |    |  |  |  |    +- "cacheable" or "uncacheable"
|  |  |  |  |    |  |  |  +------ Max-Age from Cache-Control header
|  |  |  |  |    |  |  +--------- Expires header
|  |  |  |  |    |  +------------ Date header
|  |  |  |  |    +--------------- Age (incl Age: header value)
|  |  |  |  +-------------------- Reference time for TTL
|  |  |  +----------------------- Keep
|  |  +-------------------------- Grace
|  +----------------------------- TTL
+-------------------------------- "RFC", "VCL" or "HFP"

Четыре дополнительных поля присутствуют только в заголовках «RFC».

Примеры:

RFC 60 10 -1 1312966109 1312966109 1312966109 0 60 cacheable
VCL 120 10 0 1312966111 uncacheable
HFP 2 0 0 1312966113 uncacheable
Timestamp — Информация о времени

Содержит информацию о времени для потоков обработки Varnish.

Отметки времени выдаются Varnish при определенных событиях и показывают абсолютное время события, время, прошедшее с начала блока работы, и время, прошедшее с момента регистрации последней отметки времени. Информацию об отдельных отметках времени см. в разделе TIMESTAMPS ниже.

Формат:

%s: %f %f %f
|   |  |  |
|   |  |  +- Time since last timestamp
|   |  +---- Time since start of work unit
|   +------- Absolute time of event
+----------- Event label
VCL_Error — Сообщение об ошибке выполнения VCL

Регистрирует сообщения об ошибках, сгенерированные во время выполнения VCL.

VCL_Log — Запись журнала из VCL

Пользовательские сообщения журнала, вставленные из VCL с помощью std.log()

VCL_acl — Результаты проверки VCL ACL

ACL с флагом +log выдает эту запись с результатом.

Формат:

%s %s [%s [fixed: %s]]
|  |   |          |
|  |   |          +- Fixed entry (see acl +pedantic flag)
|  |   +------------ Matching entry (only for MATCH)
|  +---------------- Name of the ACL
+-------------------- MATCH or NO_MATCH

MATCH означает соответствие ACL, NO_MATCH означает, что проверенный ACL не сопоставлен

VCL_call — Вызванный метод VCL

Регистрирует имя метода VCL при вызове метода VCL.

VCL_return — Возвращаемое значение метода VCL

Регистрирует завершающее утверждение метода VCL.

VCL_trace — Данные трассировки VCL

Регистрирует данные трассировки выполнения VCL.

Формат:

%s %u %u.%u.%u
|  |  |  |  |
|  |  |  |  +- VCL program line position
|  |  |  +---- VCL program line number
|  |  +------- VCL program source index
|  +---------- VCL trace point index
+------------- VCL configname

ПРИМЕЧАНИЕ: эта запись журнала по умолчанию замаскирована.

VCL_use — Используемый VCL

Записывает имя используемого VCL.

Формат:

%s [ %s %s ]
|    |  |
|    |  +- Name of label used to find it
|    +---- "via"
+--------- Name of VCL put in use
VSL — Предупреждения и сообщения об ошибках API VSL

Предупреждения и сообщения об ошибках, сгенерированные API VSL при чтении журнала общего доступа.

VdpAcct — Учет фильтров доставки

Содержит имя VDP и статистику.

Формат:

%s %d %d
|  |  |
|  |  +- Total bytes produced
|  +---- Number of calls made
+------- Name of filter

ПРИМЕЧАНИЕ: эта запись журнала по умолчанию замаскирована.

VfpAcct — Учет фильтров извлечения

Содержит имя VFP и статистику.

Формат:

%s %d %d
|  |  |
|  |  +- Total bytes produced
|  +---- Number of calls made
+------- Name of filter

ПРИМЕЧАНИЕ: эта запись журнала по умолчанию замаскирована.

Witness — Записи свидетелей порядка блокировок

Диагностическая запись порядка блокировок.

WorkThread — Регистрирует события начала/остановки потока

Регистрирует события создания и завершения потоков обработки.

Формат:

%p %s
|  |
|  +- [start|end]
+---- Worker struct pointer

ПРИМЕЧАНИЕ: эта запись журнала по умолчанию замаскирована.

ВРЕМЕННЫЕ МАРКИ

Отметки времени вставляются в журнал при завершении определенных событий во время обработки задач потоком обработки. У отметки времени есть метка, показывающая, какое событие было завершено. Сообщаемые поля показывают абсолютное время события, время, прошедшее с начала задачи, и время, прошедшее с момента регистрации последней отметки времени.

Автоматически регистрируемые Varnish отметки времени вставляются после завершения событий, которые, как ожидается, будут иметь задержки (например, сетевой ввод-вывод или ожидание в очереди). Отметки времени также могут вставляться из VCL с помощью функции std.timestamp(). Если в конфигурации VCL выполняются задачи, требующие много времени, рекомендуется регистрировать отметку времени после завершения этой задачи. Это позволяет избежать включения затраченного времени на событие VCL в последующие отметки времени.

Отметки времени обработки запросов

Начало

Начало обработки запроса (получение первого байта или перезапуск).

Req

Получен полный запрос клиента.

ReqBody

Обработан тело запроса клиента (отброшено, кэшировано или передано бэкенду).

Очередь

Выход из очереди.

Извлечение

Завершена обработка извлечения (полностью извлечено или готово к потоковой передаче).

Обработка

Обработка завершена, готово отправить ответ клиенту.

Ответ

Завершена доставка ответа клиенту.

Перезапуск

Запрос клиента перезапускается.

Отметки времени обработки каналов

Следующие отметки времени относятся к отметкам времени клиента, специфичным для операций с каналами:

Канал

Открыт канал с бэкендом и передан запрос.

PipeSess

Сессия канала завершена.

Следующие отметки времени меняют свой смысл в операции с каналами:

Обработка

Обработка завершена, готово начать доставку по каналу.

Отметки времени извлечения из бэкенда

Начало

Начало обработки извлечения из бэкенда.

Извлечение

Вышел из vcl_backend_fetch, готово отправить запрос бэкенду.

Подключено

Успешное подключение к бэкенду или выбор повторно использованного подключения из пула.

Bereq

Отправлен запрос бэкенду.

Beresp

Получены заголовки ответа бэкенда.

Обработка

Обработка завершена, готово извлечь тело ответа.

BerespBody

Получено тело ответа бэкенда.

Повторная попытка

Запрос бэкенда повторно отправляется.

Ошибка

Запрос бэкенда завершен с ошибкой в vcl_backend_error.

СООБЩЕНИЯ ВНИМАНИЯ

Сообщения внимания содержат информационные сообщения об обработке запроса. Они могут касаться исключительных ситуаций, которые вызывают отклонения от стандартной обработки. Сообщения имеют префикс vsl: для сообщений, сгенерированных основным Varnish, и авторы VMOD должны использовать префикс vmod_<name>: для собственных сообщений внимания. Это соответствует названию страницы руководства, где ожидаются подробные описания сообщений внимания.

Ниже описаны основные сообщения.

Ожидание потоковой передачи объекта при условном извлечении

Бэкенд ответил 304 Not Modified при условном извлечении с использованием объекта, который еще не был полностью извлечен в качестве устаревшего шаблона объекта. Это может произойти только в том случае, если срок службы объекта меньше времени, необходимого для его извлечения. Извлечение приостанавливается до тех пор, пока устаревший объект не будет полностью извлечен, после чего новый объект создается в обычном режиме. Пока ожидается, любые ограничения по времени на устаревший объект будут действовать.

Большое количество вариантов

Объекты в первую очередь извлекаются из индекса с использованием хэш-ключа, вычисленного из функции hash_data() VCL. Когда участвуют варианты, то есть когда ответ бэкенда был сохранен с заголовком Vary , выполняется вторичный поиск, но он не индексируется. По мере увеличения числа вариантов для данного ключа поиск в кэше может замедляться, а так как это происходит под блокировкой, это может значительно увеличить конкуренцию за блокировку, особенно для часто запрашиваемых объектов. Поэтому следует экономно использовать варианты для кэшируемых ответов, но поскольку они могут исходить как из VCL, так и из серверов-источников, это сообщение поможет определить проблемные ресурсы.

ИСТОРИЯ

Данный документ первоначально был написан Poul-Henning Kamp, а затем обновлен Martin Blix Grydeland.

СМОТРИТЕ ТАКЖЕ

  • varnishhist
  • varnishlog
  • varnishncsa
  • varnishtop

АВТОРСКИЕ ПРАВА

Этот документ лицензирован так же, как и сам Varnish. Подробности см. в LICENCE.

  • Авторские права (с) 2006 Verdens Gang AS
  • Авторские права (с) 2006-2015 Varnish Software AS

Copyright © 2006 Verdens Gang AS
Copyright © 2006–2020 Varnish Software AS
Licensed under the BSD-2-Clause License.
https://varnish-cache.org/docs/7.4/reference/vsl.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API