Re: Cтранности с kevent
Александр Кутузов
alleteam at gmail.com
Wed Nov 26 17:22:53 MSK 2008
коли уж о раздаче опять пошло:
а файлы с 6 до 25 метров тоже через сендфайл лучше раздовать ?
и если не сложно можно линк на патч а то я по архиву рассылки не могу
найти?
26.11.2008, в 20:49, Igor Sysoev написал(а):
> On Wed, Nov 26, 2008 at 04:42:30PM +0300, Никита Козлов wrote:
>
>> Небольшое уточнение:
>> Когда был 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, посмотрим что будет.
>
> Для больших файлов лучше накатить патч для sendfile'а и использовать
> sendfile, а не directio.
>
>> 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
>>>
>>>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
Kind regards,
Alexandr Kutuzov, alleteam at gmail.com
More information about the nginx-ru
mailing list