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