Welcome! Log In Create A New Profile

Advanced

[nginx] svn commit: r5115 - trunk/src/http

Anonymous User
March 15, 2013 03:50PM
Author: vbart
Date: 2013-03-15 19:49:54 +0000 (Fri, 15 Mar 2013)
New Revision: 5115
URL: http://trac.nginx.org/nginx/changeset/5115/nginx

Log:
Allow to reuse connections that wait their first request.

This should improve behavior under deficiency of connections.

Since SSL handshake usually takes significant amount of time,
we exclude connections from reusable queue during this period
to avoid premature flush of them.


Modified:
trunk/src/http/ngx_http_request.c

Modified: trunk/src/http/ngx_http_request.c
===================================================================
--- trunk/src/http/ngx_http_request.c 2013-03-14 16:22:43 UTC (rev 5114)
+++ trunk/src/http/ngx_http_request.c 2013-03-15 19:49:54 UTC (rev 5115)
@@ -355,6 +355,7 @@
}

ngx_add_timer(rev, c->listening->post_accept_timeout);
+ ngx_reusable_connection(c, 1);

if (ngx_handle_read_event(rev, 0) != NGX_OK) {
ngx_http_close_connection(c);
@@ -383,6 +384,11 @@
return;
}

+ if (c->close) {
+ ngx_http_close_connection(c);
+ return;
+ }
+
hc = c->data;
cscf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_core_module);

@@ -432,6 +438,7 @@

if (!rev->timer_set) {
ngx_add_timer(rev, c->listening->post_accept_timeout);
+ ngx_reusable_connection(c, 1);
}

if (ngx_handle_read_event(rev, 0) != NGX_OK) {
@@ -466,6 +473,8 @@

c->log->action = "reading client request line";

+ ngx_reusable_connection(c, 0);
+
c->data = ngx_http_create_request(c);
if (c->data == NULL) {
ngx_http_close_connection(c);
@@ -611,6 +620,11 @@
return;
}

+ if (c->close) {
+ ngx_http_close_connection(c);
+ return;
+ }
+
n = recv(c->fd, (char *) buf, 1, MSG_PEEK);

err = ngx_socket_errno;
@@ -631,6 +645,7 @@

if (!rev->timer_set) {
ngx_add_timer(rev, c->listening->post_accept_timeout);
+ ngx_reusable_connection(c, 1);
}

if (ngx_handle_read_event(rev, 0) != NGX_OK) {
@@ -670,6 +685,8 @@
ngx_add_timer(rev, c->listening->post_accept_timeout);
}

+ ngx_reusable_connection(c, 0);
+
c->ssl->handler = ngx_http_ssl_handshake_handler;
return;
}
@@ -714,6 +731,8 @@
c->read->handler = ngx_http_wait_request_handler;
/* STUB: epoll edge */ c->write->handler = ngx_http_empty_handler;

+ ngx_reusable_connection(c, 1);
+
ngx_http_wait_request_handler(c->read);

return;

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

[nginx] svn commit: r5115 - trunk/src/http

Anonymous User 724 March 15, 2013 03:50PM



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

Online Users

Guests: 261
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