Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность mikhal123
Валентин Бартенев Wrote:
> А вы в nginx.conf то сконфигурировали логирование в память?
Да, все добавил

user www-data;

#timer_resolution   25ms;
worker_priority -10;
worker_processesauto;
worker_rlimit_nofile65536;
#worker_rlimit_sigpending   32768;

pid /var/run/nginx.pid;

events {
worker_connections  8192;
use epoll;
}

http {
include /etc/nginx/mime.types;
default_typeapplication/octet-stream;

#   access_log  off;
access_log  /var/log/nginx/access.log   
combined gzip buffer=512k flush=1m;
#   error_log   /var/log/nginx/error.logerror;
error_log   memory:32m debug;

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,264701,264896#msg-264896

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

Re: пакеты с динамическими модулями для тестирования

2016-02-26 Пенетрантность Vadim A. Misbakh-Soloviov
Я пытаюсь представить, как опакечивать модули для source-based distros
(кстати, fbsd ведь это тоже касается, вроде). Как-то обе идеи: что
распаковывать весь ngx вместе с каждым собираемым модулем при сборке,
что класть исходники куда-нибудь в /usr/src/nginx, кажутся мне немного
чудными, имхо. Да и distro policy ругается на такое.
А иного способа, что-то не вижу :(
Hint: билд-директории чистятся после установки пакета и упаковывания его
в тарбол.


25.02.2016 05:54, Maxim Dounin пишет:
> Hello!
>
> On Thu, Feb 25, 2016 at 01:39:51AM +0600, Vadim A. Misbakh-Soloviov wrote:
>
>> Кстати, про динамические модули.
>>
>> Насколько я понял их текущую реализацию в NgX, для их сборки всё равно
>> нужны распакованные исходники самого NgingX, в том сосотоянии, из
>> которого собран бинарник.
>>
>> Т.е. не полуится просто взять и скомпилировать модуль в .so, используя
>> только хидеры, а потом подсунуть его NginX'у в директорию с
>> shared-модулями и тот его успешно загрузит.
>>
>> Или я ошибаюсь?
> Вы пытаетесь сэкономить на распаковке исходников nginx'а?  А 
> зачем?
>

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

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность Валентин Бартенев
On Friday 26 February 2016 13:34:34 mikhal123 wrote:
> Валентин Бартенев Wrote:
> 
> > процессу и вытащить из него дебаг лог в момент зацикливания.
> 
> в общем у меня не получается вытащить этот самый лог
> 
> nginx.gdb: http://pastebin.com/KjWUxymi
> nginx2.gdb: http://pastebin.com/tu5C0VbA
> лог: http://pastebin.com/D4YEerAQ
> 

А вы в nginx.conf то сконфигурировали логирование в память?

Для этого нужно на основной уровень добавить директиву:

  error_log memory:32m debug;

--
Валентин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность mikhal123
Валентин Бартенев Wrote:

> процессу и вытащить из него дебаг лог в момент зацикливания.

в общем у меня не получается вытащить этот самый лог

nginx.gdb: http://pastebin.com/KjWUxymi
nginx2.gdb: http://pastebin.com/tu5C0VbA
лог: http://pastebin.com/D4YEerAQ

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,264701,264889#msg-264889

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

Re: пакет nginx-debug

2016-02-26 Пенетрантность Gena Makhomed

On 26.02.2016 17:04, Sergey Budnevitch wrote:


В наших пакетах помимо обычного запускаемого файла nginx был также nginx-debug -
nginx сконфигурированный и собранный с аргументом —with-debug. Этот
файл необходим для поиска ошибок: http://nginx.org/en/docs/debugging_log.html
До версии 1.9.8 он поставлялся в отельном пакете nginx-debug, после был
перенесен в основной пакет. Кроме того был добавлен inin-скрипт, с помощью
которого можно запускать nginx-debug:

% service nginx stop
% service nginx-debug start

nginx-debug будет использовать те же конфигурационные файлы.


На странице http://nginx.org/en/docs/debugging_log.html
об этом ничего не написано, наоборот, там написано вот что:

 To enable a debugging log, nginx needs to be configured to support 
debugging during the build:


./configure --with-debug ...

То есть, описан только вариант с пересборкой nginx из исходников.

--
Best regards,
 Gena

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

пакет nginx-debug

2016-02-26 Пенетрантность Sergey Budnevitch
Добрый день

В наших пакетах помимо обычного запускаемого файла nginx был также nginx-debug 
- 
nginx сконфигурированный и собранный с аргументом —with-debug. Этот
файл необходим для поиска ошибок: http://nginx.org/en/docs/debugging_log.html
До версии 1.9.8 он поставлялся в отельном пакете nginx-debug, после был
перенесен в основной пакет. Кроме того был добавлен inin-скрипт, с помощью
которого можно запускать nginx-debug:

% service nginx stop
% service nginx-debug start

nginx-debug будет использовать те же конфигурационные файлы.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность mikhal123
Валентин Бартенев Wrote:
---
> Можно настроить дебаг лог в памяти:
> http://nginx.org/ru/docs/debugging_log.html#memory

включил debug лог в памяти, но при попытке забрать его в соответствии вот с
этим мануалом
https://www.nginx.com/blog/new-debugging-features-probe-nginx-internals/ gdb
выдает что ему не хватает ../sysdeps/unix/sysv/linux/x86_64/syscall.S

какие пакеты нужно доставить?

gdb --pid 3648 -iex "source nginx.gdb" -ex "ddl" --batch
[New LWP 3744]
[New LWP 3743]
[New LWP 3742]
[New LWP 3741]
[New LWP 3740]
[New LWP 3739]
[New LWP 3738]
[New LWP 3737]
[New LWP 3736]
[New LWP 3735]
[New LWP 3734]
[New LWP 3733]
[New LWP 3732]
[New LWP 3731]
[New LWP 3730]
[New LWP 3729]
[New LWP 3728]
[New LWP 3727]
[New LWP 3726]
[New LWP 3725]
[New LWP 3724]
[New LWP 3723]
[New LWP 3722]
[New LWP 3721]
[New LWP 3720]
[New LWP 3719]
[New LWP 3718]
[New LWP 3717]
[New LWP 3716]
[New LWP 3715]
[New LWP 3714]
[New LWP 3713]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38  ../sysdeps/unix/sysv/linux/x86_64/syscall.S: Нет такого файла или
каталога.
Attempt to extract a component of a value that is not a structure pointer.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,264701,264879#msg-264879

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

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность Валентин Бартенев
On Friday 26 February 2016 01:40:54 Alex Domoradov wrote:
> > Не нужно ничего устанавливать.
> > nginx-debug уже установлен, он ставится вместе с основным пакетом, его
> нужно только запустить.
> 
> странно, как минимум на ubuntu 12.04 LTS и CentOS 6 для nginx-1.8 это не
> справедливо.
> 
> # rpm -qa | grep nginx
> nginx-1.8.1-1.el6.ngx.x86_64
> 
> # rpm -ql nginx | grep debug
> 
> или это относится только к ветке 1.9?
> 
[..]

Так стали собирать начиная с 1.9.8.

--
Валентин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: slice module + thread pools

2016-02-26 Пенетрантность Vadim Lazovskiy
2016-02-25 19:20 GMT+03:00 Maxim Dounin :

>
> Это выглядит как проблема при aio threads + sendfile + подзапросы.
> Workaround - выключить что-нибудь из списка.  Just for the record,
> воспроизводится с помощью тестов как-то так:
>
> TEST_NGINX_GLOBALS_HTTP="aio threads; sendfile on;" prove proxy_store.t
>

Наткнулся на странное поведение:
Если запустить в браузере просмотр видео через проксирующий nginx и
одновременно запросить этот же файл wget-ом,
закачка останавливается и соединение рвется по таймауту.
Внятный debug log собрать пока не удалось, хоть и проблема воспроизводится.

При отключении aio threads данной проблемы не наблюдается.

-- 
WBR,
Vadim Lazovskiy
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: slice module и proxy_cache_min_uses больше единицы.

2016-02-26 Пенетрантность Roman Arutyunyan
On Fri, Feb 26, 2016 at 10:44:17AM +0300, Vadim Lazovskiy wrote:
> 25 февраля 2016 г., 21:28 пользователь Roman Arutyunyan 
> написал:
> 
> >
> > Попробуйте патч в аттаче.
> >
> >
> Роман, спасибо! Теперь все работает как задумано.
> 
> 
> > > И чтоб 2 раза не вставать, спрошу, отчего может возникать проблема с
> > > переполнением диска?
> > > Диск 220G, max_cache опустил до 190G, а на деле диск забивается под
> > > завязку, причем именно кешем (proxy_cache_min_uses 1, slice 10m, 10-20
> > rps).
> > > В temp в этот момент не более 20 временных файлов размером ~ 10
> > мегабайт. В
> > > кеше все элементы <= 10 мегабайт.
> > > Незакрытых удаленных файлов на диске нет.
> > > В error log куча сообщений c No space left on device.
> >
> > Может быть такое, что кеш растет так быстро, что nginx не успевает его
> > очищать.
> >
> > Еще одна причина - рестарт воркеров.  Если по какой-либо причине это
> > происходит
> > (например, из-за нестабильных 3rd-party модулей), то кеш может остаться в
> > неконсистентном состоянии, что может приводить к описанной вами проблеме.
> >
> > Насколько часто это у вас это происходит?
> >
> >
> В том-то и дело, что воркеры не падают и сборка без сторонних модулей.
> Глядя на strace процесса cache manager, видно, что он что-то удаляет, но
> каждый раз недостаточно.
> Суммарный размер каталогов 0-f балансирует около значения размера диска
> (220G) и до указанных 190G даже близко не опускается.
> При этом '(deleted)' файлов на диске нет и в temp файлов суммарно мегабайт
> на 300.

Сколько файлов cache manager удаляет за раз?

[..]

-- 
Roman Arutyunyan

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

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность Alex Domoradov
Да вы просто КО :) А теперь еще раз перечитайте мой вопрос.

2016-02-26 10:38 GMT+02:00 Vadim Lazovskiy :

> Здравствуйте.
>
> В официальном репозитории доступна как сборка без --with-debug так и с ним.
> /usr/sbin/nginx /etc/init.d/nginx и /usr/sbin/nginx-debug
> /etc/init.d/nginx-debug соответственно.
>
> 26 февраля 2016 г., 11:19 пользователь Alex Domoradov 
> написал:
>
>> > Речь не о пакете, а о бинаре:
>> а каким магическим образом бинарь появится в системе, кроме как установки
>> из пакета? Или мы говорим о разных вещах?
>>
>>
>
> --
> WBR,
> Vadim Lazovskiy
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность Vadim Lazovskiy
Здравствуйте.

В официальном репозитории доступна как сборка без --with-debug так и с ним.
/usr/sbin/nginx /etc/init.d/nginx и /usr/sbin/nginx-debug
/etc/init.d/nginx-debug соответственно.

26 февраля 2016 г., 11:19 пользователь Alex Domoradov 
написал:

> > Речь не о пакете, а о бинаре:
> а каким магическим образом бинарь появится в системе, кроме как установки
> из пакета? Или мы говорим о разных вещах?
>
>

-- 
WBR,
Vadim Lazovskiy
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx отъедает все процессорное время

2016-02-26 Пенетрантность Alex Domoradov
> Речь не о пакете, а о бинаре:
а каким магическим образом бинарь появится в системе, кроме как установки
из пакета? Или мы говорим о разных вещах?

2016-02-26 8:50 GMT+02:00 Aleksandr Sytar :

>
>
> 26 февраля 2016 г., 2:40 пользователь Alex Domoradov 
> написал:
>
>> > Не нужно ничего устанавливать.
>> > nginx-debug уже установлен, он ставится вместе с основным пакетом, его
>> нужно только запустить.
>>
>> странно, как минимум на ubuntu 12.04 LTS и CentOS 6 для nginx-1.8 это не
>> справедливо.
>>
>> # rpm -qa | grep nginx
>> nginx-1.8.1-1.el6.ngx.x86_64
>>
>> # rpm -ql nginx | grep debug
>>
>> или это относится только к ветке 1.9?
>>
>
> Речь не о пакете, а о бинаре:
>
> $ which nginx-debug
> /usr/sbin/nginx-debug
>
>
>>
>> 2016-02-25 22:10 GMT+02:00 Валентин Бартенев :
>>
>>> On Thursday 25 February 2016 15:05:42 mikhal123 wrote:
>>> > Валентин Бартенев Wrote:
>>> > > Не нужно ничего устанавливать.
>>> > > nginx-debug уже установлен, он ставится вместе с основным пакетом,
>>> > > его нужно только запустить.
>>> >
>>> > что-то я не понимаю...
>>> >
>>> > aptitude show nginx-debug
>>> > Пакет: nginx-debug
>>> > Новый: да
>>> > Состояние: не установлен
>>> > Версия: 1.9.7-1~jessie
>>> > Приоритет: дополнительный
>>> > Раздел: debug
>>> > Сопровождающий: Sergey Budnevitch 
>>> > Архитектура: amd64
>>> > Размер в распакованном виде: 7 951 k
>>> > Зависимости: libc6 (>= 2.14), libpcre3 (>= 1:8.35), libssl1.0.0 (>=
>>> 1.0.1),
>>> > zlib1g (>= 1:1.1.4), nginx (= 1.9.7-1~jessie)
>>> > Описание: debug version of nginx
>>> >  Not stripped version of nginx built with the debugging log support.
>>> > Сайт: http://nginx.org
>>> >
>>> >
>>> > помимо этого, вот тут вот
>>> > http://nginx.org/packages/mainline/debian/pool/nginx/n/nginx/
>>> > вроде как видно что версия для 1.9.7 является крайней?
>>> > nginx-debug_1.9.7-1~wheezy_i386.deb17-Nov-2015 15:55
>>> > 3936370
>>> >
>>> [..]
>>>
>>> Я имел в виду не пакет, а исполняемый файл.  Основной пакет nginx на
>>> самом
>>> деле устанавливает два бинарника - nginx и nginx-debug, где последний
>>> является
>>> той же версией, но собранный с --with-debug.
>>>
>>> $ nginx-debug -V
>>>
>>> --
>>> Валентин Бартенев
>>> ___
>>> nginx-ru mailing list
>>> nginx-ru@nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>
>>
>>
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru