Welcome! Log In Create A New Profile

Advanced

[nginx] Core: added a warning about reusing connections.

Maxim Dounin
August 10, 2020 11:58AM
details: https://hg.nginx.org/nginx/rev/b9071b875194
branches:
changeset: 7697:b9071b875194
user: Maxim Dounin <mdounin@mdounin.ru>
date: Mon Aug 10 18:52:59 2020 +0300
description:
Core: added a warning about reusing connections.

Previously, reusing connections happened silently and was only
visible in monitoring systems. This was shown to be not very user-friendly,
and administrators often didn't realize there were too few connections
available to withstand the load, and configured timeouts (keepalive_timeout
and http2_idle_timeout) were effectively reduced to keep things running.

To provide at least some information about this, a warning is now logged
(at most once per second, to avoid flooding the logs).

diffstat:

src/core/ngx_connection.c | 13 +++++++++++++
src/core/ngx_cycle.h | 1 +
2 files changed, 14 insertions(+), 0 deletions(-)

diffs (34 lines):

diff -r 45764bca69b0 -r b9071b875194 src/core/ngx_connection.c
--- a/src/core/ngx_connection.c Mon Aug 10 18:52:34 2020 +0300
+++ b/src/core/ngx_connection.c Mon Aug 10 18:52:59 2020 +0300
@@ -1298,6 +1298,19 @@ ngx_drain_connections(ngx_cycle_t *cycle
ngx_queue_t *q;
ngx_connection_t *c;

+ if (cycle->reusable_connections_n == 0) {
+ return;
+ }
+
+ if (cycle->connections_reuse_time != ngx_time()) {
+ cycle->connections_reuse_time = ngx_time();
+
+ ngx_log_error(NGX_LOG_WARN, cycle->log, 0,
+ "%ui worker_connections are not enough, "
+ "reusing connections",
+ cycle->connection_n);
+ }
+
n = ngx_max(ngx_min(32, cycle->reusable_connections_n / 8), 1);

for (i = 0; i < n; i++) {
diff -r 45764bca69b0 -r b9071b875194 src/core/ngx_cycle.h
--- a/src/core/ngx_cycle.h Mon Aug 10 18:52:34 2020 +0300
+++ b/src/core/ngx_cycle.h Mon Aug 10 18:52:59 2020 +0300
@@ -55,6 +55,7 @@ struct ngx_cycle_s {

ngx_queue_t reusable_connections_queue;
ngx_uint_t reusable_connections_n;
+ time_t connections_reuse_time;

ngx_array_t listening;
ngx_array_t paths;
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Core: added a warning about reusing connections.

Maxim Dounin 223 August 10, 2020 11:58AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 284
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready