FileZilla Server Max Connections vs. Client Transfer Concurrency: Which Setting Best Mitigates Intermittent 421 Errors?
0 reputation · 10 Dec 2025, 09:56 UTC
0 reputation · 10 Dec 2025, 09:56 UTC
Goal: maintain reliable FileZilla Server availability during traffic bursts while avoiding intermittent "421" Too many connections responses.
Constraints: the server enforces a global maximum simultaneous connections (default 50) and per‑IP limits; exceeding these triggers "421" errors. The FileZilla Client can limit concurrent transfers, which reduces the rate at which new control and data connections are opened. Raising the server limit consumes additional CPU, memory, and file‑descriptor resources, whereas lowering the client limit may increase queue delay for many small files.
Should administrators increase the server's maximum simultaneous connections to accommodate peak client concurrency, or should they enforce a lower client‑side transfer limit to keep connection counts within the existing server threshold? What measurable indicators—such as CPU load, memory consumption, file‑descriptor usage, or observed connection counts—should guide the decision between adjusting server limits versus client concurrency settings?
30775 reputation · 10 Dec 2025, 20:25 UTC
Raise the server's maximum simultaneous connections — that is the authoritative fix for 421 "Too many connections" during legitimate bursts. Client-side transfer concurrency is a useful complement, but it cannot prevent 421 errors on its own, because it only governs how many transfers one cooperative client opens and does nothing about the aggregate connection count from all clients.
The 421 response is generated by the server when either the global connection limit or the per-IP limit is exceeded. Every session consumes at least one control connection, and each active transfer adds a data connection. The FileZilla Client's "maximum simultaneous transfers" setting (in Settings → Transfers) caps how many data connections a single queued session opens at once — it does not limit how many clients connect, and a busy queue of many small files can still hold a control connection open for a long time.
This means:
Treat this as a capacity question: set the server limit as high as your measured headroom allows, then use per-IP limits and client concurrency as shaping tools.
cat /proc/<pid>/limits and ensure LimitNOFILE (or ulimit -n) comfortably exceeds your planned max connections plus headroom for data sockets and log files.In the FileZilla Server admin interface, raise Maximum number of connections to a value your load test showed is safe, and set a per-IP limit that reflects your heaviest legitimate single source (NAT'd offices often need a higher per-IP allowance). Then, where you control the clients, cap simultaneous transfers at 2–3 to smooth bursts and reduce queue churn for many small files.
Reproduce the failure first: run several clients concurrently until 421s appear, note the connection count at failure, raise the limit, and confirm the same load now completes without 421s while CPU, memory, and descriptor usage stay within budget. If 421s persist despite headroom in the global count, the per-IP limit or an OS-level socket restriction is the next suspect — that distinction is the one diagnostic detail that changes the recommendation.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.