diff options
author | Zhidao HONG <z.hong@f5.com> | 2022-09-22 01:01:18 +0800 |
---|---|---|
committer | Zhidao HONG <z.hong@f5.com> | 2022-09-22 01:01:18 +0800 |
commit | 0711101af826cf7f5cb25050587ac6788ac0451c (patch) | |
tree | 5350755ac773b3f28fdca6a6992e907ab504dfca /src | |
parent | 76df62a6236eba2ae1ea7ffe7b9599418b044a01 (diff) | |
download | unit-0711101af826cf7f5cb25050587ac6788ac0451c.tar.gz unit-0711101af826cf7f5cb25050587ac6788ac0451c.tar.bz2 |
Status: fixed error in connection statistics.
When proxy is used, the number of accepted connections is not counted,
This also results in the wrong number of active connections.
Diffstat (limited to 'src')
-rw-r--r-- | src/nxt_conn.h | 3 | ||||
-rw-r--r-- | src/nxt_conn_close.c | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/nxt_conn.h b/src/nxt_conn.h index 8a703e9a..5717d3c9 100644 --- a/src/nxt_conn.h +++ b/src/nxt_conn.h @@ -312,8 +312,7 @@ NXT_EXPORT void nxt_event_conn_job_sendfile(nxt_task_t *task, \ nxt_queue_remove(&c->link); \ \ - c->idle = 0; \ - e->idle_conns_cnt--; \ + e->idle_conns_cnt -= c->idle; \ } while (0) diff --git a/src/nxt_conn_close.c b/src/nxt_conn_close.c index 92bd8d1b..bdd66951 100644 --- a/src/nxt_conn_close.c +++ b/src/nxt_conn_close.c @@ -119,7 +119,9 @@ nxt_conn_close_handler(nxt_task_t *task, void *obj, void *data) nxt_socket_close(task, c->socket.fd); c->socket.fd = -1; - engine->closed_conns_cnt++; + if (c->idle) { + engine->closed_conns_cnt++; + } if (timers_pending == 0) { nxt_work_queue_add(&engine->fast_work_queue, @@ -155,7 +157,9 @@ nxt_conn_close_timer_handler(nxt_task_t *task, void *obj, void *data) nxt_socket_close(task, c->socket.fd); c->socket.fd = -1; - engine->closed_conns_cnt++; + if (c->idle) { + engine->closed_conns_cnt++; + } } nxt_work_queue_add(&engine->fast_work_queue, c->write_state->ready_handler, |