Details
-
Improvement
-
Status: Closed
-
Trivial
-
Resolution: Won't Fix
-
current (nightly)
-
None
-
None
-
n/a
Description
When setting up the socket, the following initialisation is performed (see the last few lines of method HTTPChannel::OpenChannel() and HTTPSSLChannel::OpenChannel())...
/* Turn off the Nagle algorithm - Patch by Steve Hardy */
/* This is needed, because our TCP stack would otherwise wait at most
- 200 ms before actually sending data to the server (while waiting for
- a full packet). This limits performance to around 5 requests per
- second, which is not acceptable. Turning off the Nagle algorithm
- allows for much faster transmission of small packets, but may
- degrade high-bandwidth transmissions.
*/
int one = 1;
setsockopt( m_Sock, IPPROTO_TCP, TCP_NODELAY, (char *) &one, sizeof( int));
When the message is not so small, does this omission degrade the socket performance? Would it be better to set a threshold and perhaps change the socket options 'on the fly' when the message size dictates that it should be handled differently?