socket_buffer_size
Директива `wasm_socket_buffer_size` задаёт размер буфера сокета для Wasm-модулей в NGINX.
Описание
Директива wasm_socket_buffer_size является частью модуля NGINX Proxy-Wasm и позволяет задать размер буфера для сокетных коммуникаций, обрабатываемых модулями WebAssembly (Wasm). При указании директивы она настраивает объём памяти, выделяемой для буфера, используемого при операциях с сокетами, таких как чтение из сокетов или запись в них. Это помогает оптимизировать производительность в зависимости от ожидаемой нагрузки данных и взаимодействий с upstream-серверами или клиентами.
Директива принимает один аргумент, указывающий размер буфера, который можно задавать с помощью стандартных суффиксов размера (например, k — для килобайт, m — для мегабайт), что позволяет конфигурировать разные размеры в соответствии с потребностями приложения. Корректная настройка этого значения может предотвратить превращение сокетов в узкие места при сценариях с высокой пропускной способностью, особенно в средах с частыми операциями, чувствительными к задержкам. Неправильная настройка или слишком низкие значения по умолчанию могут привести к потере пакетов или неудачным запросам, тогда как чрезмерно большие размеры буферов могут привести к неэффективному использованию памяти.
Важно включать wasm_socket_buffer_size в блок http вашей конфигурации NGINX — она действует для всех Wasm-модулей, инстанцированных в этом контексте. Поэтому при выборе размеров буферов следует учитывать совокупные требования к системе сокетов, предъявляемые развернутыми Wasm-модулями.
Пример конфига
http {
wasm_socket_buffer_size 8k;
# Further configuration for Wasm modules...
}Убедитесь, что размер буфера задан внутри контекста http, так как размещение его в другом месте приведёт к ошибке.
Избегайте установки размеров буфера, которые значительно превышают типичные сетевые полезные нагрузки, поскольку это может привести к перерасходу памяти.
Учитывайте компромиссы в производительности между задержкой и пропускной способностью при выборе размера буфера.