comparison src/http/ngx_http_core_module.c @ 2888:512d164a8348

keepalive_requests
author Igor Sysoev <igor@sysoev.ru>
date Mon, 25 May 2009 15:38:36 +0000
parents 13b63d682228
children 4f5753877376 501fd3ae3188
comparison
equal deleted inserted replaced
2887:78277989e9ea 2888:512d164a8348
438 ngx_http_core_keepalive, 438 ngx_http_core_keepalive,
439 NGX_HTTP_LOC_CONF_OFFSET, 439 NGX_HTTP_LOC_CONF_OFFSET,
440 0, 440 0,
441 NULL }, 441 NULL },
442 442
443 { ngx_string("keepalive_requests"),
444 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
445 ngx_conf_set_num_slot,
446 NGX_HTTP_LOC_CONF_OFFSET,
447 offsetof(ngx_http_core_loc_conf_t, keepalive_requests),
448 NULL },
449
443 { ngx_string("satisfy"), 450 { ngx_string("satisfy"),
444 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 451 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
445 ngx_conf_set_enum_slot, 452 ngx_conf_set_enum_slot,
446 NGX_HTTP_LOC_CONF_OFFSET, 453 NGX_HTTP_LOC_CONF_OFFSET,
447 offsetof(ngx_http_core_loc_conf_t, satisfy), 454 offsetof(ngx_http_core_loc_conf_t, satisfy),
1324 r->request_body_file_log_level = NGX_LOG_WARN; 1331 r->request_body_file_log_level = NGX_LOG_WARN;
1325 } 1332 }
1326 1333
1327 r->request_body_in_single_buf = clcf->client_body_in_single_buffer; 1334 r->request_body_in_single_buf = clcf->client_body_in_single_buffer;
1328 1335
1329 if (r->keepalive && clcf->keepalive_timeout == 0) { 1336 if (r->keepalive) {
1330 r->keepalive = 0; 1337 if (clcf->keepalive_timeout == 0) {
1338 r->keepalive = 0;
1339
1340 } else if (r->connection->requests >= clcf->keepalive_requests) {
1341 r->keepalive = 0;
1342 }
1331 } 1343 }
1332 1344
1333 if (!clcf->tcp_nopush) { 1345 if (!clcf->tcp_nopush) {
1334 /* disable TCP_NOPUSH/TCP_CORK use */ 1346 /* disable TCP_NOPUSH/TCP_CORK use */
1335 r->connection->tcp_nopush = NGX_TCP_NOPUSH_DISABLED; 1347 r->connection->tcp_nopush = NGX_TCP_NOPUSH_DISABLED;
2912 lcf->send_lowat = NGX_CONF_UNSET_SIZE; 2924 lcf->send_lowat = NGX_CONF_UNSET_SIZE;
2913 lcf->postpone_output = NGX_CONF_UNSET_SIZE; 2925 lcf->postpone_output = NGX_CONF_UNSET_SIZE;
2914 lcf->limit_rate = NGX_CONF_UNSET_SIZE; 2926 lcf->limit_rate = NGX_CONF_UNSET_SIZE;
2915 lcf->keepalive_timeout = NGX_CONF_UNSET_MSEC; 2927 lcf->keepalive_timeout = NGX_CONF_UNSET_MSEC;
2916 lcf->keepalive_header = NGX_CONF_UNSET; 2928 lcf->keepalive_header = NGX_CONF_UNSET;
2929 lcf->keepalive_requests = NGX_CONF_UNSET_UINT;
2917 lcf->lingering_time = NGX_CONF_UNSET_MSEC; 2930 lcf->lingering_time = NGX_CONF_UNSET_MSEC;
2918 lcf->lingering_timeout = NGX_CONF_UNSET_MSEC; 2931 lcf->lingering_timeout = NGX_CONF_UNSET_MSEC;
2919 lcf->resolver_timeout = NGX_CONF_UNSET_MSEC; 2932 lcf->resolver_timeout = NGX_CONF_UNSET_MSEC;
2920 lcf->reset_timedout_connection = NGX_CONF_UNSET; 2933 lcf->reset_timedout_connection = NGX_CONF_UNSET;
2921 lcf->server_name_in_redirect = NGX_CONF_UNSET; 2934 lcf->server_name_in_redirect = NGX_CONF_UNSET;
3112 ngx_conf_merge_size_value(conf->limit_rate, prev->limit_rate, 0); 3125 ngx_conf_merge_size_value(conf->limit_rate, prev->limit_rate, 0);
3113 ngx_conf_merge_msec_value(conf->keepalive_timeout, 3126 ngx_conf_merge_msec_value(conf->keepalive_timeout,
3114 prev->keepalive_timeout, 75000); 3127 prev->keepalive_timeout, 75000);
3115 ngx_conf_merge_sec_value(conf->keepalive_header, 3128 ngx_conf_merge_sec_value(conf->keepalive_header,
3116 prev->keepalive_header, 0); 3129 prev->keepalive_header, 0);
3130 ngx_conf_merge_uint_value(conf->keepalive_requests,
3131 prev->keepalive_requests, 100);
3117 ngx_conf_merge_msec_value(conf->lingering_time, 3132 ngx_conf_merge_msec_value(conf->lingering_time,
3118 prev->lingering_time, 30000); 3133 prev->lingering_time, 30000);
3119 ngx_conf_merge_msec_value(conf->lingering_timeout, 3134 ngx_conf_merge_msec_value(conf->lingering_timeout,
3120 prev->lingering_timeout, 5000); 3135 prev->lingering_timeout, 5000);
3121 ngx_conf_merge_msec_value(conf->resolver_timeout, 3136 ngx_conf_merge_msec_value(conf->resolver_timeout,