---
title: Limits
description: 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 |

If a serverlet with zero running instances receives a request, the proxy waits up to the cold start timeout for an instance to start before giving up and returning `504 Gateway Timeout`. See [Scaling to zero](/docs/serverlet/#scaling-to-zero).

During a [rolling update](/docs/serverlet/#rolling-updates), an outgoing instance is given the grace period to finish in-flight requests before it's stopped, regardless of whether it's done.

## 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 |

A request can be forwarded back into the Futrou platform at most this many times before it's rejected with `508 Loop Detected` — this catches misconfigured proxies that end up routing to themselves, directly or indirectly. A proxy target that resolves back to the exact same instance already handling the request is blocked outright, regardless of this count.

### Reserved headers

Request and response headers starting with `Futrou-` are reserved for platform use. Rules can't add or modify a `Futrou-`-prefixed header.

## 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](/docs/dns/) for supported record types and zone management.