Skip to content

Overload Protection

Load Regulation

load_regulation.enabled  :: on|off
Default = onSince v0.8.8
load_regulation.router.pool.type  :: permanent|transient
Default = transientSince v0.8.8
load_regulation.router.pool.size  :: pos_integer
Default = 8Since v0.8.8

The size of the router process pool. The actual size will be the maximum between the configured value and the number of Erlang schedulers (which by default is the number of CPU cores) of the host or the number assigned by the virtualization|container layer.

load_regulation.router.pool.capacity  :: pos_integer
Default = 100000Since v0.8.8

The capacity of the router process pool, i.e. the maximum number of active erlang processes handling router events (default = 100000). Once the maximum has been reached, Bondy will respond with an overload error.

load_regulation.session_manager.pool.size  :: pos_integer
Default = 32Since v1.0.0

The capacity of the session manager process pool, i.e. the maximum number of active erlang processes handling session events (default = 32).

registry.partitions  :: pos_integer
Default = 32Since v1.0.0

The number of registry partitions, i.e. the maximum number of active erlang processes handling registry trie serialised operations.

Check with the documentation which operations are concurrent and which are serialised to understand the impact.

Notice that all registrations and subcritions for a realm are stored in the same (single) partition and partition assignment is based on hashing the realm uri across the number of partitions. So increasing the number of partitions will only affect use cases in which you have a decent amount of realms.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike (CC-BY-SA) 4.0 International license.
Bondy and Leapsight are registered trademarks of Leapsight Technologies Ltd.