Limits
Numeric limits and timeouts for serverlets, proxies, and DNS.
Technical limits and timeouts enforced by the platform. Most applications never hit these — they exist to keep the platform stable under load and to catch misbehaving configuration early.
Serverlet
| Limit | Value |
|---|---|
| Max instances per serverlet | 1,000 |
| Max container image size | 3 GiB |
| Scale-to-zero cold start timeout | 20 seconds |
| Rolling update grace period | 10 seconds |
A request to a scaled-to-zero serverlet waits out the cold start timeout, then fails with 504 Gateway Timeout. See Scaling to zero and rolling updates.
Proxy
Request and response limits
| Limit | Value |
|---|---|
| Max request header size | 64 KB |
| Max response header size | 128 KB |
| Max size of a single header field | 32 KB |
| Max number of headers | 500 |
Timeouts
| Timeout | Value |
|---|---|
| Connect timeout to backend | 10 seconds |
| Time waiting for backend to start responding | 30 seconds |
| Overall backend request timeout | 100 seconds |
| Idle connection timeout to backend | 90 seconds |
| Idle timeout on HTTP/3 (QUIC) connections | 30 seconds |
| Response write timeout | 30 seconds |
Recursion
| Limit | Value |
|---|---|
| Max times a request can re-enter the platform | 3 |
Catches proxies that loop back into the platform, misconfigured directly or indirectly, with 508 Loop Detected. A target resolving to the exact instance already handling the request is always blocked outright.
Reserved headers
Futrou--prefixed headers are reserved for platform use; rules can’t add or modify them.
Storage
| Limit | Value |
|---|---|
| Max size of a single storage | 256 GiB |
Max size of a single PUT (or multipart part) via the S3/Storage API | 5 GiB |
| Max size of an object served in a single request via the S3/Storage API | 10 GiB |
| Max size of a single system metadata header value | 32 KB |
| Max combined size of an object’s system metadata headers | 64 KB |
Max size of an object’s cached metadata (.metadata sidecar) | 96 KB |
| Max size of a single file when mounted as a block device | ext4’s own limit (16 TiB), bounded in practice by the storage’s own size |
The header caps match the proxy’s own limits. The 5 GiB and 10 GiB caps apply only to the S3/Storage API — a mounted block device is bound only by ext4 and free space. A request over the single-object cap fails with EntityTooLarge; split it into a multipart upload instead. Neither HTTP API follows symlinks — only a mounted block device does.
DNS
| Limit | Value |
|---|---|
| Max records per zone | 3,500 |
| Max zone size | 2 MiB |
Whichever of these two limits is reached first applies. See DNS for supported record types and zone management.
Last updated