socket_read_timeout

Директива 'wasm_socket_read_timeout' задаёт таймаут для операций чтения на сокете, используемом в WebAssembly-модулях.

Синтаксисwasm_socket_read_timeout time;
По умолчанию60s
Контекст
Аргументы1

Описание

Директива 'wasm_socket_read_timeout' задаёт максимальную продолжительность, в течение которой сервер будет ждать завершения операции чтения на сокете, поддерживаемом WebAssembly. Если операция чтения не завершится в указанное время, она будет прервана, и будет возвращена ошибка. Это особенно полезно для того, чтобы ваше приложение могло корректно обрабатывать задержки при взаимодействии с внешними сервисами или при выполнении длительных запросов, что повышает отзывчивость и эффективность управления ресурсами. Продолжительность таймаута должна задаваться в формате времени, например в секундах или минутах, что даёт гибкость в зависимости от конкретных требований реализуемой функциональности WebAssembly.

На практике эта директива взаимодействует с низкоуровневыми сетевыми компонентами NGINX, влияя на поведение в условиях высокой задержки. Её можно просматривать и изменять в конфигурационном файле NGINX, что даёт разработчикам контроль над характеристиками производительности встраиваемых WebAssembly-модулей. Это особенно важно в средах с высоким трафиком, где приоритетом является поддержание быстрого времени отклика, и помогает избегать исчерпания ресурсов из‑за неотзывчивых бэкенд-сервисов или внешних вызовов.

Пример конфига

http {
    wasm_socket_read_timeout 30s;
}

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

Учтите контекст, в котором вы используете эту директиву; она должна быть указана в контексте 'http'.

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

← Ко всем директивам