Re: Cтранности с kevent

Никита Козлов niakrisn at gmail.com
Wed Nov 26 16:42:30 MSK 2008


Небольшое уточнение:
Когда был nginx/0.7.22 для некоторых локейшенов стоял directio 4m,
поскольку там фалы по 2Гб.
И глобально был включен sendfile, в логах появлялись вот такие сообщения:

2008/11/24 14:36:29 [debug] 33593#0: *13445002 sendfile() sent only
32981 bytes (35: Resource temporarily unavailable)
2008/11/24 14:36:29 [debug] 33593#0: *13445002 sendfile: -1, @0 32981:100630

Довольно много.

Переехали на nginx/0.6.33 и пришлось sendfile выключить поскольку
много больших файлов, а directio в nginx/0.6.33 нет.

Сегодня попробую накатить обратно nginx/0.7.22 и выключу directio и
sendfile, посмотрим что будет.


26 ноября 2008 г. 15:15 пользователь Igor Sysoev <is at rambler-co.ru> написал:
> On Wed, Nov 26, 2008 at 02:08:55PM +0300, Никита Козлов wrote:
>
>> В общем перешли на nginx/0.6.33, проблема с "замиранием" kevent ушла.
>
> По идее, 0.7.22 и 0.6.33 в этом месте должны себя вести одинаково.
>
>> 2008/11/24 Никита Козлов <niakrisn at gmail.com>:
>> > Пардон, а вот слона та я и не заметил...
>> > В логах на счет дисков пусто, а вот iostat -x вон что кажет:
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       86.9   0.2  5563.6     9.3    1  13.1  96
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       76.5   0.0  4893.2     0.0    1  15.2  96
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       92.4   0.0  5910.6     0.0    1  11.5  96
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       87.4   0.0  5592.8     0.0    2  13.0  98
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       69.5   0.0  4448.8     0.0    1  18.6 100
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       72.5   0.0  4639.5     0.0    1  16.1  97
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       77.5   0.0  4957.3     0.0    1  14.6  99
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       78.5   0.0  5020.8     0.0    1  15.0  98
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       76.5   0.0  4893.7     0.0    1  14.3  97
>> >                        extended device statistics
>> > device     r/s   w/s    kr/s    kw/s wait svc_t  b
>> > da1       93.3   0.0  5974.0     0.0    1  11.9  98
>> >
>> >
>> > Видимо причина в этом.
>> >
>> > Игорь, на сколько я понял строка "2008/11/24 18:45:14 [debug] 40079#0:
>> > *111 kevent: 119: ft:-1 fl:0020 ff:00000000 d:527 ud:48C00DD5", это
>> > дамп события?
>> >
>> > Правильно ли я понял, что с момента kevent set event до дампа kevent
>> > происходит какая-то операция с диском, которая может дать такую
>> > задержку?
>> >
>> > 24 ноября 2008 г. 20:38 пользователь Igor Sysoev <is at rambler-co.ru> написал:
>> >> On Mon, Nov 24, 2008 at 08:10:37PM +0300, Никита Козлов wrote:
>> >>
>> >>> top кажет:
>> >>> last pid: 41119;  load averages:  0.14,  0.10,  0.08
>> >>>
>> >>>           up 14+00:57:58  20:05:23
>> >>> 58 processes:  1 running, 57 sleeping
>> >>> CPU states:  0.2% user,  0.0% nice,  0.3% system,  0.0% interrupt, 99.5% idle
>> >>> Mem: 268M Active, 1772M Inact, 378M Wired, 74M Cache, 197M Buf, 7804K Free
>> >>> Swap: 8192M Total, 420K Used, 8191M Free
>> >>>
>> >>>   PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
>> >>> 40079 www           1  -8    0 47560K 46016K biord  7   1:08  0.83% nginx
>> >>> 40869 www           1  20    0 21136K 11292K lockf  2   0:01  0.10% httpd
>> >>>   935 mysql        18  96    0  1170M   160M ucond  5  19:22  0.00% mysqld
>> >>>   859 pgsql         1  96    0 40904K  6104K select 0   2:11  0.00% postgres
>> >>> 82170 root          1  96    0 20112K 10588K select 0   1:58  0.00% httpd
>> >>>   957 root          1  96    0  5848K  2456K select 6   0:19  0.00% sendmail
>> >>>   860 pgsql         1  96    0  9096K  2488K select 3   0:09  0.00% postgres
>> >>>   967 root          1   8    0  3184K  1016K nanslp 7   0:07  0.00% cron
>> >>> 51026 root          1  96    0  7244K  3616K select 0   0:06  0.00% proftpd
>> >>>
>> >>>
>> >>> Попробую накатить STABLE
>> >>
>> >> А с диском проблем нет ? Нужно смотреть в /var/log/messages
>> >>
>> >>> 24 ноября 2008 г. 19:46 пользователь Igor Sysoev <is at rambler-co.ru> написал:
>> >>> > On Mon, Nov 24, 2008 at 07:02:30PM +0300, Никита Козлов wrote:
>> >>> >
>> >>> >> Добрый день всем.
>> >>> >>
>> >>> >> Дня два назад, nginx начал медленно отдаваться контент с сайтов
>> >>> >> (использую nginx/0.7.22).
>> >>> >> Поставил дебаг на свой IP, посмотреть что происходит и заметил следующую вещь:
>> >>> >> 2008/11/24 14:36:18 [debug] 33593#0: *13445002 accept: 213.85.189.1 fd:689
>> >>> >> 2008/11/24 14:36:18 [debug] 33593#0: *13445002 event timer add: 689:
>> >>> >> 60000:3460959328
>> >>> >> 2008/11/24 14:36:18 [debug] 33593#0: *13445002 kevent set event: 689:
>> >>> >> ft:-1 fl:0025
>> >>> >> 2008/11/24 14:36:29 [debug] 33593#0: *13445002 kevent: 689: ft:-1
>> >>> >> fl:0020 ff:00000000 d:451 ud:48D004B0
>> >>> >>
>> >>> >> Обратите внимание на время между kevent set event и дампом kevent.
>> >>> >> И так с каждым новым подключением, задержка бывает разной, удалось
>> >>> >> заметить от 10 до 12 секунд.
>> >>> >>
>> >>> >> Кто-нибудь сталкивался с подобной проблемой?
>> >>> >
>> >>> > Что показывает top в такие моменты ?
>> >>> >
>> >>> >> После перезагрузки или релода nginx, некоторое время все работает нормально:
>> >>> >> 2008/11/24 18:45:14 [debug] 40079#0: *111 accept: 213.85.189.1 fd:119
>> >>> >> 2008/11/24 18:45:14 [debug] 40079#0: *111 event timer add: 119: 60000:3475894737
>> >>> >> 2008/11/24 18:45:14 [debug] 40079#0: *111 kevent set event: 119: ft:-1 fl:0025
>> >>> >> 2008/11/24 18:45:14 [debug] 40079#0: *111 kevent: 119: ft:-1 fl:0020
>> >>> >> ff:00000000 d:527 ud:48C00DD5
>> >>> >>
>> >>> >> ОС: FreeBSD 7.0-RELEASE #3
>> >>> >
>> >>> > Возможно, имеет смыл накатить до -STABLE.
>> >>> >
>> >>> >
>> >>> > --
>> >>> > Игорь Сысоев
>> >>> > http://sysoev.ru
>> >>> >
>> >>> >
>> >>
>> >> --
>> >> Игорь Сысоев
>> >> http://sysoev.ru
>> >>
>> >>
>> >
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>


More information about the nginx-ru mailing list