Сорри, есть небольшой риторический вопрос (пока мне до этой проблумы далеко, но в перспективе реально)<br><br>Вопрос - а чем хуже в данной ситуации будет использование jabber-а ????<br><br><div class="gmail_quote">2009/4/15 Alexander Dolgarev <span dir="ltr"><<a href="mailto:a.dolgarev@gmail.com">a.dolgarev@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Это тоже будет чат, сейчас рассматриваем варианты платформы, задача -<br>
на один нод 5000 пользователей, каждый пользователь шлет запрос 1 раз<br>
в секунду, на этот запрос должен быть выдан ответ в пределах 100мс,<br>
поэтому затраты на соединение принимаются во внимание.<br>
<br>
Как вариант тоже задумался о своев fastcgi-сервере на libev (libevent<br>
слишком громоздкий, а свое писать долго).<br>
<br>
Проблему ECONNREFUSED удается решить засчет многопоточности (пару<br>
сотен потоков, ато и больше) при использовании FastCGI Developers KIT,<br>
но это требует времени CPU. Ошибка возникала из-за переполнения<br>
backlog (128 максимум), сейчас увеличил backlog, 10 потоков, работает<br>
стабильно.<br>
<br>
Но тема с keep-alive в fastcgi, темболее сервер на libev очень интересуют.<br>
<br>
<br>
2009/4/15 Konstantin Belov <<a href="mailto:belov1985@gmail.com">belov1985@gmail.com</a>>:<br>
<div><div></div><div class="h5">> Denis F. Latypoff wrote:<br>
>><br>
>> Hello Maxim,<br>
>><br>
>> Wednesday, April 15, 2009, 6:35:09 PM, you wrote:<br>
>><br>
>>><br>
>>> On Wed, Apr 15, 2009 at 12:55:53PM +0300, Alexander Dolgarev wrote<br>
>>>><br>
>>>> В спеке FastCGI указано, что соединения между веб-сервером и<br>
>>>> fastcgi-сервером могут быть постоянными, при этом nginx в<br>
>>>> FCGI_BEGIN_REQUEST не указывает флаг FCGI_KEEP_CONN, в результате чего<br>
>>>> fastcgi-сервер закрывает соединение после ответа.<br>
>>>> Существует ли возможность в nginx делать соединения с fastcgi-сервером<br>
>>>> постоянными или это впринципе не реализовано?<br>
>>>><br>
>>>> Я так понимаю, что при тысячах запросов от клиентов nginx делает<br>
>>>> тысячи попыток соединиться с fastcgi-сервером (1 запрос = 1 соединение<br>
>>>> к fastcgi), которому приходится разгребать все эти соединения, а чаще<br>
>>>> всего просто получаем ECONNREFUSED, не было бы лучше<br>
>>>> мультиплексировать все запросы по нескольким постоянным соединениям?<br>
>>>> Подскажите, как это сделать, если это сделать нельзя, то планируется<br>
>>>> ли реализация такого поведения в будущем?<br>
>>>><br>
>><br>
>><br>
>>><br>
>>> У меня есть работающий прототип поддержки keepalive для fastcgi. Если<br>
>>> очень хочется потестировать - могу поделиться патчами.<br>
>>><br>
>><br>
>> О! Раз пошла такая пьянка, то можно мне патчик? У меня есть самописный<br>
>> сервер, разговаривающий по протоколу FastCGI (it uses libev). Я бы его<br>
>> научил keepalive'у.<br>
>><br>
>><br>
><br>
> Если не секрет, то какие задачи у сервера и какие библиотеки использовали?<br>
> Сейчас просто занимаюсь разработкой чат-демона (наподобие voodoo chat), но<br>
> опыта<br>
> мало, а примеров в сети не так много нашел.<br>
><br>
><br>
</div></div></blockquote></div><br>