Skip to content

Conversation

@Mark-Simulacrum
Copy link
Collaborator

Release Summary:

intentionally blank, mostly this is fixing bugs introduced in #2827 (though also improves what happened before that PR, so it's sort of an optimization too).

Resolved issues:

n/a

Description of changes:

This makes two changes: first, we fix a bug where we were lowering per-acceptor concurrency by total concurrency while the worker count was clamped at 4. This artificially shrunk the worker backlog limits more than it should.

Second, we change TCP sockets to have the full-sized backlog (4096 on Linux), which reduces the likelihood that Linux will drop incoming connections during transient spikes, causing overall overload on the system. For systems with high concurrency we were previously configuring very small backlogs (e.g., 32 connections) which can get overwhelmed at high accept rates and end up triggering syn flood protection. The above bug made this worse when we clamped concurrency.

Call-outs:

Testing:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This makes two changes: first, we fix a bug where we were lowering
per-acceptor concurrency by total concurrency while the worker count was
clamped at 4. This artificially shrunk the worker backlog limits more
than it should.

Second, we change TCP sockets to have the full-sized backlog (4096 on
Linux), which reduces the likelihood that Linux will drop incoming
connections during transient spikes, causing overall overload on the
system. For systems with high concurrency we were previously configuring
very small backlogs (e.g., 32 connections) which can get overwhelmed at
high accept rates and end up triggering syn flood protection. The above
bug made this worse when we clamped concurrency.
@Mark-Simulacrum Mark-Simulacrum marked this pull request as ready for review September 25, 2025 16:38
@Mark-Simulacrum Mark-Simulacrum merged commit 1a1bb54 into aws:main Sep 25, 2025
193 of 194 checks passed
@Mark-Simulacrum Mark-Simulacrum deleted the dc-server-conc branch September 25, 2025 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants