Code Review 7068416: Lightweight HTTP Server should support TCP_NODELAY

Chris Hegarty chris.hegarty at oracle.com
Wed Jul 20 08:55:33 PDT 2011


On 07/20/11 03:56 PM, Alan Bateman wrote:
> Chris Hegarty wrote:
>> Hi Michael,
>>
>> It has been noticed that there is a perceived delay in response from
>> the Lightweight HTTP Server implementation that ships with the JDK,
>> compared to other production HTTP Servers. The cause for this delay
>> has been identified as the Nagle algorithm buffering the response data
>> until there is sufficient data ( not always the case especially for
>> headers ), or a timeout occurs that triggers the data to be sent.
>>
>> CR 7068416 is requesting that a property be provided to allow
>> applications to effectively set the TCP_NODELAY socket option on
>> sockets being used by the server, i.e. disable Nagle. This is similar
>> to what other production HTTP servers provide. For example, see:
>> http://download.oracle.com/docs/cd/E19798-01/821-1794/aeoko/index.html
>>
>> Webrev:
>> http://cr.openjdk.java.net/~chegar/7068416/webrev.00/webrev/
>>
>> Thanks,
>> -Chris.
> A side comment is that I see that the lookup of each property is its own
> privileged block. Would it be more efficient to have one to lookup all
> the properties?

Yes, certainly make sense.

Updated Webrev:
  http://cr.openjdk.java.net/~chegar/7068416/webrev.01/webrev/

-Chris.

>
> -Alan



More information about the net-dev mailing list