haproxy/include/proto
Olivier Houchard 88698d966d MEDIUM: connections: Add a way to control the number of idling connections.
As by default we add all keepalive connections to the idle pool, if we run
into a pathological case, where all client don't do keepalive, but the server
does, and haproxy is configured to only reuse "safe" connections, we will
soon find ourself having lots of idling, unusable for new sessions, connections,
while we won't have any file descriptors available to create new connections.

To fix this, add 2 new global settings, "pool_low_ratio" and "pool_high_ratio".
pool-low-fd-ratio  is the % of fds we're allowed to use (against the maximum
number of fds available to haproxy) before we stop adding connections to the
idle pool, and destroy them instead. The default is 20. pool-high-fd-ratio is
the % of fds we're allowed to use (against the maximum number of fds available
to haproxy) before we start killing idling connection in the event we have to
create a new outgoing connection, and no reuse is possible. The default is 25.
2019-04-18 19:52:03 +02:00
..
acl.h MINOR: acl: Pass the ACLs as an explicit parameter of build_acl_cond 2017-10-31 11:36:12 +01:00
action.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
activity.h MINOR: activity: add configuration and CLI support for "profiling.tasks" 2018-11-22 11:48:51 +01:00
applet.h MEDIUM: tasks: Merge task_delete() and task_free() into task_destroy(). 2019-04-18 10:10:04 +02:00
arg.h MINOR: sample: Moves ARGS underlying type from 32 to 64 bits. 2016-03-15 22:11:52 +01:00
auth.h MEDIUM: pattern: The match function browse itself the list or the tree. 2014-03-17 18:06:07 +01:00
backend.h BUG/MAJOR: lb/threads: fix insufficient locking on round-robin LB 2019-04-16 11:21:14 +02:00
channel.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
checks.h BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
cli.h MINOR: cli: export cli_parse_default() definition in cli.h 2019-04-01 14:45:37 +02:00
compression.h REORG: filters: Prepare creation of the HTTP compression filter 2016-02-09 14:53:15 +01:00
connection.h MEDIUM: connections: Provide a xprt_ctx for each xprt method. 2019-04-18 14:56:24 +02:00
dns.h BUG/MINOR: dns: Don't try to get the server lock if it's already held. 2017-11-06 18:34:24 +01:00
fd.h MINOR: fd: Add a counter of used fds. 2019-04-18 19:19:59 +02:00
filters.h MINOR: filters: Export the name of known filters 2018-12-11 17:09:31 +01:00
flt_http_comp.h MINOR: compression: Rename the function check_legacy_http_comp_flt() 2018-12-11 17:09:31 +01:00
freq_ctr.h MEDIUM: freq_ctr: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:37 +01:00
frontend.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
hdr_idx.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua_fcn.h MINOR: lua: add utility function for check boolean argument 2016-11-24 21:35:10 +01:00
hlua.h BUILD/MINOR: lua: ensure that hlua_ctx_destroy is properly defined 2015-06-17 20:18:54 +02:00
http_fetch.h BUG/MINOR: http_fetch/htx: Allow permissive sample prefetch for the HTX 2019-04-17 15:12:27 +02:00
http_htx.h CLEANUP: h1: remove some occurrences of unneeded h1.h inclusions 2018-12-11 17:15:13 +01:00
http_rules.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
lb_chash.h MINOR: lb: allow redispatch when using consistent hash 2019-01-02 20:22:17 +01:00
lb_fas.h MEDIUM: backend: add the 'first' balancing algorithm 2012-02-21 22:27:27 +01:00
lb_fwlc.h [CLEANUP] backend: move LB algos to individual files 2009-10-01 11:19:37 +02:00
lb_fwrr.h [CLEANUP] backend: move LB algos to individual files 2009-10-01 11:19:37 +02:00
lb_map.h MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
listener.h MINOR: listener: introduce listener_backlog() to report the backlog value 2019-02-28 17:05:29 +01:00
log.h MEDIUM: initcall: use initcalls for a few initialization functions 2018-11-26 19:50:32 +01:00
map.h MINOR: samples: rename some struct member from "smp" to "data" 2015-08-20 17:13:46 +02:00
mux_pt.h MEDIUM: connection: start to introduce a mux layer between xprt and data 2017-10-31 18:03:23 +01:00
mworker.h MEDIUM: mworker-prog: implement program for master-worker 2019-04-01 14:45:37 +02:00
obj_type.h MINOR: objtype: report a few missing types in names and base pointers 2018-12-18 16:31:10 +01:00
openssl-compat.h MINOR: ssl: generate-certificates for BoringSSL 2018-10-08 09:42:34 +02:00
pattern.h BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
payload.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
peers.h BUG/MEDIUM: peers: Missing peer initializations. 2019-02-12 19:49:22 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
proto_http.h MINOR: http: update the macro IS_HTX_STRM() to check the stream flag SF_HTX 2019-04-12 22:06:53 +02:00
proto_sockpair.h MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
proto_tcp.h MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
proto_udp.h CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
protocol_buffers.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
protocol.h CLEANUP: Fix a typo in the protocol header file 2018-12-02 18:42:49 +01:00
proxy.h BUILD: address a few cases of "static <type> inline foo()" 2019-04-15 21:55:48 +02:00
queue.h MEDIUM: init: use initcall for all fixed size pool creations 2018-11-26 19:50:32 +01:00
raw_sock.h CLEANUP: connection: unexport raw_sock and ssl_sock 2016-12-22 23:26:38 +01:00
sample.h CLEANUP: Fix typos in the sample subsystem 2018-11-18 22:26:42 +01:00
server.h MEDIUM: connections: Add a way to control the number of idling connections. 2019-04-18 19:52:03 +02:00
session.h MINOR: muxes: Pass the context of the mux to destroy() instead of the connection 2019-04-12 22:06:53 +02:00
shctx.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
signal.h MEDIUM: initcall: use initcalls for a few initialization functions 2018-11-26 19:50:32 +01:00
spoe.h CLEANUP: Fix typos in the spoe subsystem 2018-11-18 22:26:42 +01:00
ssl_sock.h MINOR: ssl: add support of aes256 bits ticket keys on file and cli. 2019-01-14 19:32:58 +01:00
stats.h MINOR: stats: Move stuff about the stats status codes in stats files 2019-03-15 14:34:59 +01:00
stick_table.h MINOR: stktable: provide an unchecked version of stktable_data_ptr() 2018-09-20 11:42:15 +02:00
stream_interface.h MINOR: stream-int: add a new flag to mention that we want the connection to be killed 2019-01-31 19:38:25 +01:00
stream.h BUILD: address a few cases of "static <type> inline foo()" 2019-04-15 21:55:48 +02:00
task.h MEDIUM: tasks: Merge task_delete() and task_free() into task_destroy(). 2019-04-18 10:10:04 +02:00
tcp_rules.h MINOR: action: Use trk_idx instead of tcp/http_trk_idx 2017-10-31 11:36:12 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
vars.h MINOR: vars: Add 'unset-var' action/converter 2016-11-09 22:57:01 +01:00