HTTP Streaming. Возможно?

Kostya Alexandrov koticka at mail.ru
Fri Feb 8 21:27:56 MSK 2008


По своему опыту скажу что это худший вариант пуша. Ограничение наступает 
очень быстро.
Что либо около 1000 соединений могут поставить на коленки любую ОС. И 
зачем вам тогда
nginx? Чтоб он "немножко" скрасил огрехи идеологии и проектирования?
Подобные задачи решать нужно (и решаются) только с использование 
демультипоикации ввода вывода.
Сам в данное время делаю это, но бекенд на Java, "лабораторные" тесты 
показывают очень хорошие результаты,
также плпнирую использовать nginx как фронтенд + ssl. Будут результаты - 
расскажу.

Ваш вариант - один клиент - один поток. На FastCGI ничего не выйдет. С 
тем же успехом  пишите модуль к апачу.
Результат будет один и тот же.

До того как браться за такую реализацию настоятельно рекомендую 
ознакомится с Стивенсон "Разработка
сетевых приложений для UNIX". На самом деле нет никакой глобальной 
разницы Windows или Unix/Linux,
С или Java общие принципы построения остааются одни и теже.

public-mail at alekciy.ru wrote:
>>> Потребление памяти будет немалым, посколько в том варианте который вы
>>> предлагаете придется держать отдельный процесс FastCGI на каждое
>>> открытое
>>> соединение.
>>>       
>> "Немалое" понятие относительное. Уж точно меньше на несколько порядков,
>> чем mod_apache. И почему она будет потреблсять? Данных содержать она будет
>> очень мало, т.к. все будет находиться в разделяемой памяти.. Если бы не
>> затык с буферизацией в nginx сейчас бы даже мог сказать, столько ресурсов
>> ушло бы на это дело.
>>     
>
> Ну так в FastCGI в пределах одного процесса имеем несколько тредов
> (нитей). Значит если в настройках задать в пределах одного процесса 5
> тредов, то один процесс сможет у нас удержать 5 конектов. 20 таких
> процессов и уже 100 коннектов. Сейчас на один процесс на тестовой машине
> уходит ~10МБ на пятитредовый процесс. Тот же Апач в стандарной
> конфигурации требовал 100МБ.
>
>
>
>   





More information about the nginx-ru mailing list