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.
This commit is contained in:
Zhidao HONG
2022-09-22 01:01:18 +08:00
parent 76df62a623
commit 0711101af8
3 changed files with 13 additions and 4 deletions

View File

@@ -37,6 +37,12 @@ fix HTTP cookie parsing when the value contains an equals sign.
</para> </para>
</change> </change>
<change type="bugfix">
<para>
fix error in connection statistics when using proxy.
</para>
</change>
</changes> </changes>

View File

@@ -312,8 +312,7 @@ NXT_EXPORT void nxt_event_conn_job_sendfile(nxt_task_t *task,
\ \
nxt_queue_remove(&c->link); \ nxt_queue_remove(&c->link); \
\ \
c->idle = 0; \ e->idle_conns_cnt -= c->idle; \
e->idle_conns_cnt--; \
} while (0) } while (0)

View File

@@ -119,7 +119,9 @@ nxt_conn_close_handler(nxt_task_t *task, void *obj, void *data)
nxt_socket_close(task, c->socket.fd); nxt_socket_close(task, c->socket.fd);
c->socket.fd = -1; c->socket.fd = -1;
engine->closed_conns_cnt++; if (c->idle) {
engine->closed_conns_cnt++;
}
if (timers_pending == 0) { if (timers_pending == 0) {
nxt_work_queue_add(&engine->fast_work_queue, 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); nxt_socket_close(task, c->socket.fd);
c->socket.fd = -1; 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, nxt_work_queue_add(&engine->fast_work_queue, c->write_state->ready_handler,