ПРОЕКТЫ 


  АРХИВ 


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[2]: fastcgi performance at 10K



Hello Maxim,

Thursday, April 16, 2009, 1:23:11 AM, you wrote:

> Hello!

> On Wed, Apr 15, 2009 at 01:09:30PM +0100, Valery Kholodkov wrote:

>> 
>> ----- "Maxim Dounin" <mdounin@xxxxxxxxxx> wrote:
>> 
>> > У меня есть работающий прототип поддержки keepalive для fastcgi.  
>> > Если очень хочется потестировать - могу поделиться патчами.
>> > 
>> > Но надо понимать что на сколько-нибудь тяжёлых fastcgi запросах 
>> > это не приведёт к заметному ускорению, и описанные проблемы скорее 
>> > всего не вылечит (а может быть и усугубит).
>> 
>> Вне зависимости от того, кто что про это думает, код в студию!

> Патчи прилагаются, накладывать по очереди:

> patch-nginx-proxy-flush-2.txt
> patch-nginx-proxy-length-2.txt
> patch-nginx-keepalive.txt

> Всё должно нормально накладываться на 0.7.51.  Первые два патча 
> уже публиковались ранее, и вообще сами по себе полезные.  Третий 
> грязненький, но я честно предупреждал что это лишь прототип.  :)

> Использовать вместе со свежей версией ngx_http_upstream_keepalive, 
> берут тут:

> http://mdounin.ru/hg/ngx_http_upstream_keepalive/

> При этом при сборке nginx'а надо определить 
> NGX_UPSTREAM_KEEPALIVE_PATCHED, иначе работать будет как раньше 
> (т.е. применимо только для memcached'а).  Как-то так:

> ./configure --with-cc-opt="-D NGX_UPSTREAM_KEEPALIVE_PATCHED" >     --add-module=/path/to/ngx_http_upstream_keepalive

> Maxim Dounin

это моё (время в GMT):

[16:37:27] [debug] app_server.c:278:server_accept(): [21] accepted from 
192.168.61.30
[16:37:27] [debug] socket.c:83:socket_non_block(): [21] set NONBLOCK
[16:37:27] [debug] app_server.c:77:app_server_read(): [21] read 1344 bytes
[16:37:27] [debug] app_server.c:99:app_server_read(): [21] recv(): Resource 
temporarily unavailable
[16:37:27] [debug] fastcgi.c:617:fastcgi_request(): FASTCGI_VERSION: 1
[16:37:27] [debug] fastcgi.c:637:fastcgi_request(): FASTCGI_TYPE: 
FASTCGI_BEGIN_REQUEST
[16:37:27] [debug] fastcgi.c:664:fastcgi_request(): FASTCGI_REQUEST_ID_HI: 0
[16:37:27] [debug] fastcgi.c:673:fastcgi_request(): FASTCGI_REQUEST_ID_LO: 1
[16:37:27] [debug] fastcgi.c:692:fastcgi_request(): FASTCGI_CONTENT_LENGTH_HI: 0
[16:37:27] [debug] fastcgi.c:701:fastcgi_request(): FASTCGI_CONTENT_LENGTH_LO: 8
[16:37:27] [debug] fastcgi.c:710:fastcgi_request(): FASTCGI_PADDING_LENGTH: 0
[16:37:27] [debug] fastcgi.c:719:fastcgi_request(): FASTCGI_RESERVED: 0
[16:37:27] [debug] fastcgi.c:761:fastcgi_request(): FASTCGI_DATA: 8 bytes left
[16:37:27] [debug] fastcgi.c:151:fastcgi_process_begin_request(): 
FASTCGI_ROLE_HI: 0
[16:37:27] [debug] fastcgi.c:160:fastcgi_process_begin_request(): 
FASTCGI_ROLE_LO: 1
[16:37:27] [debug] fastcgi.c:184:fastcgi_process_begin_request(): 
FASTCGI_FLAGS: 1

то бишь - FCGI_KEEP_CONN

это nginx:

2009/04/17 23:37:27 [debug] 28959#0: *54 http writer done: "/game.json?"
2009/04/17 23:37:27 [debug] 28959#0: *54 http finalize request: 0, "/game.json?"
2009/04/17 23:37:27 [debug] 28959#0: *54 event timer del: 5: 3035726014
2009/04/17 23:37:27 [debug] 28959#0: *54 set http keepalive handler
2009/04/17 23:37:27 [debug] 28959#0: *54 http close request

ну и в моем самопальном сервере:

[16:37:27] [debug] server.c:182:server_write(): [21] written 16232
bytes of 16232

дальше добавляю fd:21 в событие READ, якобы для следующего запроса и
получаю:

[16:37:27] [notice] server.c:84:server_read(): [21] recv(): client
prematurely closed connection 
[16:37:27] [debug] socket.c:72:socket_close(): [21] closed


-- 
Best regards,
 Denis                            mailto:denis@xxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.