Keep Alive piles up

meto nginx-forum at nginx.us
Sat Jun 27 15:34:06 MSD 2009


(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






More information about the nginx mailing list