fastcgi performance at 10K

Nikolay Grebnev nick at algen.spb.ru
Sun Apr 19 01:30:30 MSD 2009


Сорри, есть небольшой риторический вопрос (пока мне до этой проблумы далеко,
но в перспективе реально)

Вопрос - а чем хуже в данной ситуации будет использование jabber-а ????

2009/4/15 Alexander Dolgarev <a.dolgarev at gmail.com>

> Это тоже будет чат, сейчас рассматриваем варианты платформы, задача -
> на один нод 5000 пользователей, каждый пользователь шлет запрос 1 раз
> в секунду, на этот запрос должен быть выдан ответ в пределах 100мс,
> поэтому затраты на соединение принимаются во внимание.
>
> Как вариант тоже задумался о своев fastcgi-сервере на libev (libevent
> слишком громоздкий, а свое писать долго).
>
> Проблему ECONNREFUSED удается решить засчет многопоточности (пару
> сотен потоков, ато и больше) при использовании FastCGI Developers KIT,
> но это требует времени CPU. Ошибка возникала из-за переполнения
> backlog (128 максимум), сейчас увеличил backlog, 10 потоков, работает
> стабильно.
>
> Но тема с keep-alive в fastcgi, темболее сервер на libev очень интересуют.
>
>
> 2009/4/15 Konstantin Belov <belov1985 at gmail.com>:
> > Denis F. Latypoff wrote:
> >>
> >> Hello Maxim,
> >>
> >> Wednesday, April 15, 2009, 6:35:09 PM, you wrote:
> >>
> >>>
> >>> On Wed, Apr 15, 2009 at 12:55:53PM +0300, Alexander Dolgarev wrote
> >>>>
> >>>> В спеке FastCGI указано, что соединения между веб-сервером и
> >>>> fastcgi-сервером могут быть постоянными, при этом nginx в
> >>>> FCGI_BEGIN_REQUEST не указывает флаг FCGI_KEEP_CONN, в результате чего
> >>>> fastcgi-сервер закрывает соединение после ответа.
> >>>> Существует ли возможность в nginx делать соединения с fastcgi-сервером
> >>>> постоянными или это впринципе не реализовано?
> >>>>
> >>>> Я так понимаю, что при тысячах запросов от клиентов nginx делает
> >>>> тысячи попыток соединиться с fastcgi-сервером (1 запрос = 1 соединение
> >>>> к fastcgi), которому приходится разгребать все эти соединения, а чаще
> >>>> всего просто получаем ECONNREFUSED, не было бы лучше
> >>>> мультиплексировать все запросы по нескольким постоянным соединениям?
> >>>> Подскажите, как это сделать, если это сделать нельзя, то планируется
> >>>> ли реализация такого поведения в будущем?
> >>>>
> >>
> >>
> >>>
> >>> У меня есть работающий прототип поддержки keepalive для fastcgi.  Если
> >>> очень хочется потестировать - могу поделиться патчами.
> >>>
> >>
> >> О! Раз пошла такая пьянка, то можно мне патчик? У меня есть самописный
> >> сервер, разговаривающий по протоколу FastCGI (it uses libev). Я бы его
> >> научил keepalive'у.
> >>
> >>
> >
> > Если не секрет, то какие задачи у сервера и какие библиотеки
> использовали?
> > Сейчас просто занимаюсь разработкой чат-демона (наподобие voodoo chat),
> но
> > опыта
> > мало, а примеров в сети не так много нашел.
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090419/e9ae1bb9/attachment.html>


More information about the nginx-ru mailing list