I've been trying to reduce the default blocks of 8k data being sent from
tomcat back to the browser when a HTML page is returned from a JspWriter
(because of a high packet-loss network connection becomimg prone to
collisions and tcp restarts at this size).

I've tried setting s.setSendBufferSize in tomcat/net/ServerSocketFactory (to
4k).
I've tried setting the size of the buffer size used by
tomcat/core/BufferedServletOutputStream.
I've tried setting (on Solaris 8) tcp_xmit_hiwat on the server machine.
I've tried changing the jsp page size with "buffer=4k" in the jsp page
directive.

A tcpdump log still shows a block of 8k being returned without any 'ack'
from the client machine.  This means that the TCP send buffer is not being
affected by any of the above.  I suspect that the TCP send-buffer size is
being influenced by the stream associated with the socket, overriding the
s.setSendBufferSize() but would like extra information on the subject.

Also if I can reduce this value, do the developers have any thoughts on the
knock-on effects of this, since I see that:
    jasper.runtime.BodyContentImpl
    jasper.runtime.JspWriterImpl
    tomcat.core.BufferedServletOutputStream
    jasper.constants
    tomcat.util.ByteBuffer
all use a hard-coded value of 8k when allocating a buffer.

Thanks for any help,
Steve Owen.

Reply via email to