atom feed43 messages in ru.sysoev.nginxRe: Keep Alive piles up
FromSent OnAttachments
metoJun 25, 2009 7:06 am 
Maxim DouninJun 25, 2009 9:33 am 
metoJun 25, 2009 12:49 pm 
Maxim DouninJun 25, 2009 2:09 pm 
metoJun 25, 2009 3:24 pm 
Maxim DouninJun 25, 2009 4:47 pm 
metoJun 25, 2009 10:59 pm 
metoJun 26, 2009 5:01 am 
metoJun 26, 2009 6:06 am 
Grzegorz NosekJun 26, 2009 6:18 am 
metoJun 26, 2009 6:53 am 
Grzegorz NosekJun 26, 2009 7:16 am 
metoJun 26, 2009 7:43 am 
metoJun 26, 2009 10:17 am 
Grzegorz NosekJun 26, 2009 11:03 am 
metoJun 26, 2009 11:42 am 
metoJun 26, 2009 12:02 pm 
metoJun 26, 2009 12:53 pm 
Grzegorz NosekJun 26, 2009 1:04 pm 
metoJun 26, 2009 3:09 pm 
metoJun 26, 2009 3:28 pm 
Grzegorz NosekJun 27, 2009 1:23 am 
metoJun 27, 2009 3:01 am 
Grzegorz NosekJun 27, 2009 3:50 am 
metoJun 27, 2009 4:33 am 
metoJun 27, 2009 4:39 am 
metoJun 27, 2009 5:48 am 
Tomasz PajorJun 28, 2009 12:58 am 
metoJun 28, 2009 2:29 am 
Maxim DouninJun 29, 2009 3:37 am 
metoJun 29, 2009 6:42 am 
metoJun 29, 2009 7:18 am 
Maxim DouninJun 29, 2009 7:45 am 
metoJun 29, 2009 8:32 am 
metoJun 29, 2009 8:34 am 
Maxim DouninJun 29, 2009 8:55 am 
Maxim DouninJun 29, 2009 9:09 am 
metoJun 29, 2009 9:59 am 
Maxim DouninJun 29, 2009 11:20 am 
metoJun 29, 2009 12:27 pm 
Maxim DouninJun 29, 2009 1:18 pm 
Toni MuellerJul 16, 2009 2:55 am 
Maxim DouninJul 16, 2009 9:20 am 
Subject:Re: Keep Alive piles up
From:meto (ngin@nginx.us)
Date:Jun 27, 2009 4:33:43 am
List:ru.sysoev.nginx

(gdb) p *u $1 = {read_event_handler = 0, write_event_handler = 0, peer = {connection = 0x0,
sockaddr = 0x0, socklen = 0, name = 0x0, tries = 0, get = 0, free = 0, data = 0x0, set_session = 0, save_session = 0, rcvbuf = 0, log = 0x8a23a0,
cached = 0, log_error = 1}, pipe = 0x6f7098, request_bufs = 0x76a380, output = {buf = 0x0, in = 0x0, free = 0x0, busy = 0x0, sendfile = 0, directio
= 0, unaligned = 0, need_in_memory = 0, need_in_temp = 0, pool = 0x6f61d0, allocated = 0, bufs = {num = 1, size = 8192}, tag = 0x6c5220, output_filter
= 0x40c815 , filter_ctx = 0x769e18}, writer = {out = 0x0, last = 0x0, connection = 0x0, pool = 0x6f61d0, limit = 0}, conf = 0x755c10,
headers_in = {headers = {last = 0x0, part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, status_n = 0,
status_line = {len = 0, data = 0x0}, status = 0x0, date = 0x0, server = 0x0, connection = 0x0, expires = 0x0, etag = 0x0, x_accel_expires = 0x0,
x_accel_redirect = 0x0, x_accel_limit_rate = 0x0, content_type = 0x0, content_length = 0x0, last_modified = 0x0, location = 0x0, accept_ranges =
0x0, www_authenticate = 0x0, content_encoding = 0x0, content_length_n = 0, cache_control = {elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}},
resolved = 0x0, buffer = {pos = 0x0, last = 0x0, file_pos = 0, file_last = 0, start = 0x0, end = 0x0, tag = 0x0, file = 0x0, shadow = 0x0,
temporary = 0, memory = 0, mmap = 0, recycled = 0, in_file = 0, flush = 0, sync = 0, last_buf = 0, last_in_chain = 0, last_shadow = 0, temp_file = 0,
num = 0}, length = 0, out_bufs = 0x0, busy_bufs = 0x0, free_bufs = 0x0, input_filter_init = 0, input_filter = 0, input_filter_ctx = 0x0, create_key =
0x493b77 , create_request = 0x493bff , reinit_request = 0x494afa , process_header = 0x494b55 , abort_request = 0x496728 , finalize_request = 0x496774 , rewrite_redirect = 0, timeout = 0, state = 0x0,
method = {len = 0, data = 0x0}, schema = {len = 10, data = 0x4a9946 "fastcgi://"}, uri = {len = 0, data =
0x0}, cleanup = 0x76a3f0, store = 0, cacheable = 0, accel = 0, ssl = 0, cache_status = 0, buffering = 1, request_sent = 0, header_sent = 0}

(gdb) p *(u->conf) $2 = {upstream = 0x0, connect_timeout = 60000, send_timeout = 60000,
read_timeout = 60000, timeout = 0, send_lowat = 0, buffer_size = 4096, busy_buffers_size = 8192, max_temp_file_size = 1073741824,
temp_file_write_size = 8192, busy_buffers_size_conf = 18446744073709551615, max_temp_file_size_conf = 18446744073709551615, temp_file_write_size_conf =
18446744073709551615, bufs = {num = 8, size = 4096}, ignore_headers = 1, next_upstream = 7, store_access = 384, buffering = 1, pass_request_headers =
1, pass_request_body = 1, ignore_client_abort = 0, intercept_errors = 1, cyclic_temp_file = 0, temp_path = 0x8a7608, hide_headers_hash = {buckets =
0x8d2450, size = 15}, hide_headers = 0xffffffffffffffff, pass_headers = 0xffffffffffffffff, cache = 0x0, cache_min_uses = 1,
cache_use_stale = 2147483649, cache_methods = 6, cache_valid = 0x0, store_lengths = 0x0, store_values = 0x0, store = 0, intercept_404 = 0,
change_buffering = 0, ssl = 0x0, ssl_session_reuse = 0}

My config:

user www-data www-data; worker_processes 4;

worker_rlimit_core 100m; working_directory /var/lib/nginx/core;

worker_cpu_affinity 0001 0010 0100 1000;

error_log /var/log/nginx/error.log;

pid /var/run/nginx.pid;

events { worker_connections 1024; }

http { include mime.types; default_type application/octet-stream;

#keepalive_timeout 300;

#anti-slowloris client_body_timeout 10; client_header_timeout 10; keepalive_timeout 10; keepalive_requests 250; send_timeout 10; limit_zone limit_per_ip $binary_remote_addr 1m; #end slowloris

#cache for performance? open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; #end cache

# limit queries #limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s; #limit_req zone=one burst=20;

#if ( $request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js)$ ) { #expires max; #}

server_names_hash_bucket_size 33;

log_format main '$remote_addr - $remote_user [$time_local] $status ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "http_x_forwarded_for"';

log_not_found off;

open_log_file_cache max=1000 inactive=20s min_uses=2 valid=1m;

sendfile on; tcp_nopush on; tcp_nodelay on; client_max_body_size 100M; #gzip gzip on; gzip_min_length 1000; gzip_proxied any; gzip_vary on; gzip_buffers 16 8k; gzip_types text/plain application/xmltext/html text/xml text/css
application/x-javascript application/xhtml+xml;

#upstream_fair_shm_size 128k;

upstream php { #ip_hash; #fair weight_mode=idle no_rr;

server 127.0.0.1:9000 max_fails=0; # link to HAproxy #server 127.0.0.1:9001 weight=40 max_fails=0;# fail_timeout=1s; #server s1.xgame.pl:9001 weight=20 max_fails=10 fail_timeout=1s; #server s4.xgame.pl:9001 weight=10 max_fails=10 fail_timeout=1s; }

upstream php2 { #ip_hash;

server 127.0.0.1:9001 weight=20 max_fails=4 fail_timeout=20s; #server s4.xgame.pl:9001 weight=20 max_fails=4 fail_timeout=20s; }

include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,3374,3477#msg-3477