You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Roy T. Fielding" <fi...@kiwi.ICS.UCI.EDU> on 1997/06/10 17:30:22 UTC

Re: mod_include/706: SSI is buffering output. Some scripts are now too slow.

I've been thinking for a while of trying something new: write the buffer
if the input stalls.  That would give optimimum results for static files
or actively-sending CGI scripts, but would never hold-up partial data
being sent to the client.  It might be a big win for user-perceived
performance, even if it does result in a few extra packets.  Unfortunately,
it also means either a select poll before the fread in send_fd_length()
or going to non-blocking sockets.

BTW, why are these different?

  httpd.h:#define IOBUFSIZE 8192              -- used by send_fd and mod_dir
   buff.c:#define DEFAULT_BUFSIZE (4096)      -- size of an output BUFF
  mod_include.c:#define OUTBUFSIZE 4096       -- non-cmd SSI buffering

......Roy

Re: mod_include/706: SSI is buffering output. Some scripts are now too slow.

Posted by Dean Gaudet <dg...@arctic.org>.
It also requires fine-tuned timers... 'cause buff.c has no idea how to
determine "input has stalled".  I'm assuming you mean cases like "CGI
input has stalled". 

They're different just because :)  actually buff.c won't even buffer those
things, it'll just pass 'em right through to a write() because they're
larger than its internal buffer size. 

Dean

On Tue, 10 Jun 1997, Roy T. Fielding wrote:

> I've been thinking for a while of trying something new: write the buffer
> if the input stalls.  That would give optimimum results for static files
> or actively-sending CGI scripts, but would never hold-up partial data
> being sent to the client.  It might be a big win for user-perceived
> performance, even if it does result in a few extra packets.  Unfortunately,
> it also means either a select poll before the fread in send_fd_length()
> or going to non-blocking sockets.
> 
> BTW, why are these different?
> 
>   httpd.h:#define IOBUFSIZE 8192              -- used by send_fd and mod_dir
>    buff.c:#define DEFAULT_BUFSIZE (4096)      -- size of an output BUFF
>   mod_include.c:#define OUTBUFSIZE 4096       -- non-cmd SSI buffering
> 
> ......Roy
>