Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.8.21
On Wed, Oct 28, 2009 at 02:14:20AM +0300, proforg wrote:
> 2009/10/27 Igor Sysoev <is@xxxxxxxxxxxxx>:
> >
> > upload модули используются ?
> Нет, не используется. Собрал версию без них, с минимальным набором
> модулей. Ситуация таже.
>
> nginx version: nginx/0.8.21
> built by gcc 4.3.2 (Debian 4.3.2-1.1)
> configure arguments: --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log
> --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock
> --http-log-path=/var/log/nginx/access.log
> --http-client-body-temp-path=/var/lib/nginx/body
> --http-proxy-temp-path=/var/lib/nginx/proxy
> --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug
> --with-file-aio --with-http_stub_status_module
> --with-http_addition_module --with-http_flv_module
> --with-http_realip_module
>
> >
> >> ~>uname -a
> >> Linux hunterscash.com 2.6.26-2-amd64 #1 SMP Wed Aug 19 22:33:18 UTC
> >> 2009 x86_64 GNU/Linux
> >
> > Нужно включить в nginx.conf:
> > debug_points abort;
> > тогда на выходе вокеров будут корки при текущих соединениях.
>
> Получил несколько странных корок. Что с ними делать ?
Создаём в текущем каталоге .gdbinit:
define qq
set $c=ngx_cycle->connections[$arg0]
set $r=((ngx_http_request_t *) $c->data)
print $r->uri
print $r->request_line
printf "discard_body\t%d\n", $r->discard_body
printf "lingering_close\t%d\n", $r->lingering_close
printf "lingering_time\t%d\n", $r->lingering_time
printf "keepalive\t%d\n", $r->keepalive
print $r->read_event_handler
print $r->write_event_handler
print $c->log->action
#printf "errno\t%d\n", $c->read->kq_errno
#printf "eof\t%d\n", $c->read->pending_eof
printf "status\t%d\n", $r->headers_out.status
printf "count\t%d\n", $r->main->count
printf "blocked\t%d\n", $r->main->blocked
printf "sent\t%d\n", $c->sent
printf "length\t%d\n", $r->headers_in.content_length_n
print *$r->headers_in.content_length
print *$r->request_body
end
Ищем в логе alert'ы вида "1111#0 open socket #3333 left in connection 2222",
запускаем gdb на нужную корку:
gdb /path/to/nginx /path/to/core.1111
qq 2222
--
Игорь Сысоев
http://sysoev.ru
|