ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

снова про утечку сокетов


  • To: nginx-ru@xxxxxxxxx
  • Subject: снова про утечку сокетов
  • From: Костенко Евгений <nobody.mail@xxxxxxxxx>
  • Date: Wed, 22 Jun 2011 00:01:28 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=OVmdNvAepK/L1vYv0BjBEZQQOPbTQ6BVzfagUQLqtxY=; b=G4Ey7t8QJ4w3yejAtK751OZgrrvpr2ngmdj+qC0QZv4z/oO7qvvbzfRX0ZCTBjiTFc 6xm3kr1529GzCQkKSqyxReabNAZPOh/pi9ywgnoIeJm9m9e29ZDI8t7FiQra5lGjRiX7 Nq0TaKcIobdB2zy0qDkLAfx4sUTCiHL3QJi+c=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=ZrtDMQviGh43foCVfGsbihvguNJ3aNqmDV1t0ebuVl+DEBi4BsgcGa9OUiLKh0J/p6 Ipxhd72IOPy8ikp4l5qFGeoYJbnW5CKy8jt1KP4IAjt2z8xcAV01CA6RzdowZH0koy5k K2gQAJU6SDKh7SXB0WVfBX0dOswGWeTa1Jn3k=

Несколько месяцев назад задавал в этой рассылке вопрос про aio и утечку сокетов.
Maxim Dounin подсказал копать в сторону gdb и содержания внутренних структур nginx (http://forum.nginx.org/read.php?21,171856,173232#msg-173232)
В другом обсуждении с участием Игоря нашел как выдрать из coredump'ов нужные структуры (http://forum.nginx.org/read.php?21,16913,17565#msg-17565)

Собственно на рестарте появилось куча "корок" и жалоб в глобальном error.log на "open socket #N left in connection M"
Запускаем gdb и смотрим что внутри

(gdb) qq 34
$18 = {len = 43, data = "" "/bla/bla/archive1.zip"}
$19 = {len = 46, data = "" "GET /a52babab9bb8355b156358f434627bb0 HTTP/1.1\r\nAccept"}
discard_body    0
lingering_close 0
lingering_time  0
keepalive       1
$20 = 0x46d7a7 <ngx_http_upstream_rd_check_broken_connection>
$21 = 0x470f3b <ngx_http_upstream_process_downstream>
$22 = 0x4b79fa "reading upstream"
status  200
count   1
blocked 0
sent    33580
length  -1
Cannot access memory at address 0x0

(gdb) qq 35
$23 = {len = 26, data = "" "/bla/bla/archive2.zip"}
$24 = {len = 46, data = "" "GET /1d5859a513539b9b412d534212728832 HTTP/1.1\r\nUser-Agent"}
discard_body    0
lingering_close 0
lingering_time  0
keepalive       1
$25 = 0x459b5b <ngx_http_test_reading>
$26 = 0x4596ac <ngx_http_writer>
$27 = 0x0
status  206
count   1
blocked 0
sent    242367
length  -1
Cannot access memory at address 0x0

Смена версии ОС с 8.0 на 8.1/8.2, как собссно и обновление nginx с 0.8.x до 1.0.x не дает результата
За сутки количество writing соединений зашкаливает на 20-30тыс, хотя сутя по netstat таковых не более тысячи

Подскажите пожалуйста, куда дальше копать и что смотреть? 

PS: про ОС и версию nginx

# uname -a
FreeBSD server.domain.org 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011     root@xxxxxxxxxxxxxxxxxxxxx:/usr/obj/usr/src/sys/GENERIC  amd64

# nginx -V
nginx: nginx version: nginx/1.0.4
nginx: TLS SNI support enabled
nginx: configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_geoip_module --with-http_gzip_static_module --with-http_perl_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-pcre

--
С Уважением,
Костенко Евгений

моб: +7(928)2961142
icq: 101241013
jabber: nobody.mail@xxxxxxxxx
skype: nobody.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.