socket-burst-dampener
A daemon that spawns a specified command to handle each connection, and dampens connection bursts.
Motivation
It is typical to configure a forking daemon such as rsync so that it will respond with an error when a maximum number of concurrent connections has been exceeded. Alternatively, it may be desirable to queue excess connections, and service them in the order of arrival while taking care to ensure that too many processes are not spawned at once. The socket-burst-dampener daemon applies this behavior to any daemon command that works with inetd.
On Linux, the net.core.somaxconn sysctl setting specifies the queue length for completely established sockets waiting to be accepted. It may also be useful to adjust the maximum queue length for incomplete sockets that is controlled by the net.ipv4.tcp_max_syn_backlog sysctl setting (mentioned in the listen(2) man page).
Usage
usage: socket-burst-dampener [-h] [--address ADDRESS] [--ipv4] [--ipv6]
[--load-average LOAD] [--processes PROCESSES]
[-v]
PORT CMD [ARG [ARG ...]]
socket-burst-dampener
A daemon that spawns a specified command to handle each connection, and dampens connection bursts
positional arguments:
PORT listen on the given port number
CMD command to spawn to handle each connection
ARG argument(s) for CMD
optional arguments:
-h, --help show this help message and exit
--address ADDRESS bind to the specified address
--ipv4 prefer IPv4
--ipv6 prefer IPv6
--load-average LOAD don't accept multiple connections unless load is below
LOAD
--processes PROCESSES
maximum number of concurrent processes (0 means
infinite, default is 1)
-v, --verbose verbose logging (each occurence increases verbosity)
Example with rsync
socket-burst-dampener 873 --processes $(nproc) --load-average $(nproc) -- rsync --daemon
Metadata
Release files for socket-burst-dampener 1.3.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| socket_burst_dampener-1.3.4.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| socket_burst_dampener-1.3.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / socket_burst_dampener-1.3.4.tar.gz
| Download URL | socket_burst_dampener-1.3.4.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
faaa3270454934d8efcb1ead67c16ca4820f010c3d92715f4824acad42d3a00e
|
|
BLAKE2b-256 checksum How to use checksums |
61c975c634168ad32d835f24a6f5d5b3e852ac6755fe174f0702cf1a7e45d5c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / socket_burst_dampener-1.3.4-py3-none-any.whl
| Download URL | socket_burst_dampener-1.3.4-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c0f8e452521f4abe7795afb445f5bedcfe88987b3d122da90634edae6bf476a
|
|
BLAKE2b-256 checksum How to use checksums |
425ba35e14cc0f02179811219fb4c107e072139b89000474891b21d9b10e94f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|