delayed until the threshold is reached. The frontend might be specified by
either its name or its numeric ID prefixed with a sharp ('#').
+set maxconn global <maxconn>
+ Dynamically change the global maxconn setting within the range defined by the
+ initial global maxconn setting. If it is increased and connections were
+ pending, they will immediately be accepted. If it is lowered to a value below
+ the current number of connections, new connections acceptation will be
+ delayed until the threshold is reached. A value of zero restores the initial
+ setting.
+
set timeout cli <delay>
Change the CLI interface timeout for current connection. This can be useful
during long debugging sessions where the user needs to constantly inspect
return 1;
}
+ else if (strcmp(args[2], "global") == 0) {
+ int v;
+
+ if (s->listener->perm.ux.level < ACCESS_LVL_ADMIN) {
+ si->applet.ctx.cli.msg = stats_permission_denied_msg;
+ si->applet.st0 = STAT_CLI_PRINT;
+ return 1;
+ }
+
+ if (!*args[3]) {
+ si->applet.ctx.cli.msg = "Expects an integer value.\n";
+ si->applet.st0 = STAT_CLI_PRINT;
+ return 1;
+ }
+
+ v = atoi(args[3]);
+ if (v > global.hardmaxconn) {
+ si->applet.ctx.cli.msg = "Value out of range.\n";
+ si->applet.st0 = STAT_CLI_PRINT;
+ return 1;
+ }
+
+ /* check for unlimited values */
+ if (v <= 0)
+ v = global.hardmaxconn;
+
+ global.maxconn = v;
+
+ /* Dequeues all of the listeners waiting for a resource */
+ if (!LIST_ISEMPTY(&global_listener_queue))
+ dequeue_all_listeners(&global_listener_queue);
+
+ return 1;
+ }
else {
- si->applet.ctx.cli.msg = "'set maxconn' only supports 'frontend'.\n";
+ si->applet.ctx.cli.msg = "'set maxconn' only supports 'frontend' and 'global'.\n";
si->applet.st0 = STAT_CLI_PRINT;
return 1;
}
"Ulimit-n: %d\n"
"Maxsock: %d\n"
"Maxconn: %d\n"
+ "Hard_maxconn: %d\n"
"Maxpipes: %d\n"
"CurrConns: %d\n"
"PipesUsed: %d\n"
up,
global.rlimit_memmax,
global.rlimit_nofile,
- global.maxsock, global.maxconn, global.maxpipes,
+ global.maxsock, global.maxconn, global.hardmaxconn, global.maxpipes,
actconn, pipes_used, pipes_free,
nb_tasks_cur, run_queue_cur,
global.node, global.desc?global.desc:""