octavia/releasenotes/notes/new-default_connection_limit-config-option-3ed9f0ed6ec2b514.yaml
Gregory Thiemonge f4305e036c Fix memory consumption issues with default connection_limit
With 1.8.x releases, haproxy consumes a lot of memory when
using 1,000,000 as default connection_limit.

This commit introduces a new configuration option for the Amphora
provider: [haproxy_amphora].default_connection_limit (defaulted to
50,000). This value is used when creating a listener with -1 (which is
the default) as connection_limit, or when unsetting connection_limit in
a listener.
Updating an existing listener by setting connection_limit to -1 also
sets it to default_connection_limit.

The global connection_limit for a load balancer is the sum of the
connection_limit of the listeners, but it cannot be over
HAPROXY_MAX_MAXCONN (which is still 1,000,000).

Story: 2007794
Task: 40046

Change-Id: Ibc525d9a046a5ab7f090a942459d80a2df66ae2e
2020-07-23 09:58:23 +02:00

19 lines
972 B
YAML

---
features:
- |
Add a new configuration option to define the default connection_limit for
new listeners that use the Amphora provider. The option is
[haproxy_amphora].default_connection_limit and its default value is 50,000.
This value is used when creating or setting a listener with -1 as
connection_limit parameter, or when unsetting connection_limit parameter.
fixes:
- |
With haproxy 1.8.x releases, haproxy consumes much more memory in the
amphorae because of pre-allocated data structures. This amount of memory
depends on the maxconn parameters in its configuration file (which is
related to the connection_limit parameter in the Octavia API).
In the Amphora provider, the default connection_limit value -1 is
now converted to a maxconn of 50,000. It was previously 1,000,000 but that
value triggered some memory allocation issues when quickly performing
multiple configuration updates in a load balancer.