ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fastcgi performance at 10K


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: fastcgi performance at 10K
  • From: Alexander Dolgarev <a.dolgarev@xxxxxxxxx>
  • Date: Wed, 15 Apr 2009 16:01:05 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=bHlZ6jpHpf9QskiFKqE1s0j6s4XlXpM6ihmc3SufRW8=; b=oe7S6QH9bZ5PgMBE+gqtvTWPucdJA4CfQJ4CaR/QbTFOYrCz+nJIKW35Q2KrVbnmGO YbrOe4IiBtOMQYenovWLhiyuyxsuaEw9QkqiMkr/FSDAWk4aAgzmYB3anbsBOJSWRwiG Nhl9WX+ViZ2sz6vO3hgknfDPCCa52msoe3hFQ=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Pq57GhqphoNeQGVGHMHyCRybgusndt54TJohDpVopMZSMu0+Ph53Z+PDCilhngkwDi 5KQGXeKWqI5JyAxawDpnrNErAfb4BLcsQEUWcvmto9TpC8ea6bD/6RXXHurxHacQPAsM zLEyznQeA5SWjyXOYG7C/NcWH4DJ8VSebphQE=
  • In-reply-to: <49E5D746.5080008@xxxxxxxxx>
  • References: <fb7e57860904150255u77b79890jac1f769a47daf9e4@xxxxxxxxxxxxxx> <20090415113509.GD25999@xxxxxxxxxx> <1315727496.20090415192616@xxxxxxxxxx> <49E5D746.5080008@xxxxxxxxx>

Это тоже будет чат, сейчас рассматриваем варианты платформы, задача -
на один нод 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@xxxxxxxxx>:
> 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), но
> опыта
> мало, а примеров в сети не так много нашел.
>
>


 




Copyright © Lexa Software, 1996-2009.