Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cтранности с kevent
коли уж о раздаче опять пошло:
а файлы с 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@xxxxxxxxxxxxx>
написал:
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@xxxxxxxxx>:
Пардон, а вот слона та я и не заметил...
В логах на счет дисков пусто, а вот 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@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@xxxxxxxxxxxxx
> написал:
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@xxxxxxxxx
|