Oliver Schonrock:
> However...
> When sending it from a machine which has Sendmail installed and I use 
> the sendmail "client" binary which comes with that the delay is 10x 
> greater ~0.1s.

This means that some client implementation does small writes
back-to-back, and therefore the client suffers from Nagle delays.

> I also get the larger delay when sending using a userland php library 
> (my actually use case).
> 
> When using my php library I was able to isolate the delay to the 
> END_OF_DATA command ie
> 
> <CR><LF>.<CR>LF>

The client implementation does small writes back-to-back, i.e. it
sends the last portion of the message in one write operation and
then it sends <CR><LF>.<CR>LF> in another write operation. 

This means that the client implementation does small writes
back-to-back, and therefore the client suffers from Nagle delays.

The fix is for the client to append <CR><LF>.<CR>LF> to the message
content before writing it to the network.

The workaround is for the client to turn off Nagle delays.

        Wietse

Reply via email to