http3_max_concurrent_streams

Sets the maximum number of concurrent HTTP/3 streams allowed per connection.

Syntaxhttp3_max_concurrent_streams number;
Defaultnone
Contexthttp, server
Arguments1

Description

The http3_max_concurrent_streams directive configures the maximum number of concurrent streams that can be opened in a single HTTP/3 connection. This directive is essential for optimizing resource usage and performance, especially in scenarios with high traffic loads or when connecting to clients that may open numerous streams simultaneously. It allows you to tailor the capacity of your server based on expected workloads and manage the responsiveness of your application by controlling how many concurrent requests can be processed at a given time over HTTP/3. By default, if not explicitly set, NGINX handles the concurrency level based on its internal logic.

When the configured value is set to a limit, it ensures that additional streams beyond this number will be queued or rejected until existing streams complete, helping to prevent resource exhaustion. This parameter accepts a positive integer which represents the number of streams, allowing for clear control based on the server's capabilities and expected traffic patterns. Careful tuning of this directive is crucial to ensure optimal performance in environments where HTTP/3 is utilized, as setting the value too low might lead to performance bottlenecks while setting it too high without sufficient resources may lead to degraded performance or crashes.

Config Example

http {
    http3_max_concurrent_streams 100;
    server {
        listen 443 ssl http3;
    }
}

Setting this directive too high may lead to server resource exhaustion.

Not specifying this directive can result in suboptimal handling of concurrent streams.

← Back to all directives