Re: Медленная отдача при видеостриминге
Igor Sysoev
igor на sysoev.ru
Сб Апр 24 12:50:46 MSD 2010
On Sat, Apr 24, 2010 at 02:06:49PM +0700, Pavel V. wrote:
> Здравствуйте, Igor.
>
> Вы писали 24 апреля 2010 г., 12:42:32:
>
> > On Sat, Apr 24, 2010 at 12:38:05PM +0700, Pavel V. wrote:
>
> >> Здравствуйте, Denis.
> >>
> >> Вы писали 24 апреля 2010 г., 11:13:07:
> >>
> >>
> >> > 23.04.10, 15:03, "RUSallKA" <nginx-forum at nginx.us>:
> >>
> >> >> Вот конфиг nginx
> >> >> #user nobody;
> >> > - worker_processes 2;
> >> > + worker_processes 100;
> >>
> >> ИМХО слишком радикальный совет. Думаю, что стоит начать более плавно
> >> увеличивать, до 6-10.
> >>
> >> У меня на C2D 6Gb RAM, Raid5 @ 500Gb SATA 500Mbit раздачи Mp3 на 500 коннектах при
> >> 4 воркерах.
> >>
> >> В остальном всё примерно так же, соответствует советуемому.
> >> Еще можно порекомендовать включить open_file_cache.
> >>
> >> Example: open_file_cache max=500;
>
> > Основной тормоз, я думаю, это:
>
> > 4х1Тб RAID10 Adaptec ASR-3405 (256 DDR)
> > и
> > Raid5 @ 500Gb SATA
>
> > Нужно организовывать диски так, что 1-2M читались только с одного диска
> > и как атомарная операция.
>
> Мысль понятна - один запрос - позиционирование головок только одного винта.
Да, именно.
> Для этого, я так понимаю, надо делать --chunk=1024(2048) в mdadm
> софтовых рейдах, или увеличивать параметр "Array stripe size in number of
> blocks" (в моем случае он называется так) на железных рейдах.
Нужно больше, иначе 1М будут часто попадать на границу двух 1М чанков.
Но лично я не видел, чтобы рэйды позволяли сделать блоки больше 128K.
Может, уже появились.
> Спасибо, учтем.
>
> ----
>
> Кстати, еще один хинт: использовать опцию noatime для файловой системы
> с контентом, если это возможно (не требуется контроль atime, к
> примеру, для очистки устаревших файлов).
>
> > + output_buffers 1 256k;
> > + directio 1m;
>
> В моем случае включение directio только значительно убило скорость
> отдачи. Возможно, что на большом количестве воркеров оно ведет себя по
> другому. Или, возможно, что какие-то опции конфликтуют друг с другом.
>
> Другие опции:
> listen 1.2.3.4:8080 default sndbuf=524288;
> sendfile off;
> output_buffers 2 128k;
> #tcp_nopush on; #not used, поскольку включается только при sendfile on;
>
> Ядро: Linux 2.6.26-2-686-bigmem (обновить до >=2.6.32 в настоящее
> время не получается, хотя наверняка было бы полезно).
>
> --
> С уважением,
> Pavel mailto:pavel2000 at ngs.ru
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru