atom feed19 messages in ru.sysoev.nginxRe: [ANN] ngx_lua v0.1.5: ability to ...
FromSent OnAttachments
agentzhFeb 9, 2011 2:03 am 
agentzhFeb 9, 2011 9:29 pm 
EugaiaFeb 10, 2011 1:04 am 
Alexander KunzFeb 10, 2011 2:25 am 
agentzhFeb 10, 2011 2:35 am 
Akins, BrianFeb 10, 2011 10:12 am 
Roman VasilyevFeb 10, 2011 2:38 pm 
Roman VasilyevFeb 10, 2011 2:41 pm 
kindyFeb 10, 2011 6:02 pm 
agentzhFeb 10, 2011 7:54 pm 
agentzhFeb 10, 2011 9:01 pm 
Justin CormackFeb 11, 2011 1:10 am 
agentzhFeb 11, 2011 2:59 am 
Roman VasilyevFeb 11, 2011 11:56 am 
Roman VasilyevFeb 11, 2011 12:39 pm 
Roman VasilyevFeb 11, 2011 3:06 pm.png
agentzhFeb 11, 2011 7:06 pm 
agentzhAug 8, 2011 9:02 pm 
agentzhAug 8, 2011 9:04 pm 
Subject:Re: [ANN] ngx_lua v0.1.5: ability to capture multiple parallelsubrequests
From:Roman Vasilyev (rom@anchorfree.com)
Date:Feb 11, 2011 3:06:52 pm
List:ru.sysoev.nginx
Attachments:

Also let me show my fastcgi parameters: fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffers 4 256k; fastcgi_buffer_size 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on;

Actually I don't know which extra buffers here user, is it some lua_buffers? On 02/10/2011 07:55 PM, agentzh wrote:

On Fri, Feb 11, 2011 at 2:12 AM, Akins, Brian<Bria@turner.com> wrote:

agentzh,

I was wondering if you had considered having a capture mode that used a callback rather than coroutines? In really high traffic servers, the coroutines seem to eat a good bit of memory.

Have you tried LuaJIT 2.0? It saves 25+% of the total RAM used by our nginx worker processes in our business, compared to the standard Lua 5.1 interpreter. Also the latter's coroutine implementation is suboptimal.

Another issue is that most of the upstream modules do not release its output bufs as early as possible in the context of subrequests, they usually rely on the nginx memory pool to release all those bufs when the pool is destroyed at the end of the main request, which is quite unacceptable. We'll fix our upstream modules and possibly other standard modules (via patches) to release buffers at the end of the subrequest, rather than main request.

Technically speaking, callbacks won't save memory, we still need to save all your Lua context such that you can get access to data in the outer context in your Lua callback, or it'll be useless :)