1

I'm tunneling an HTTP connection over stunnel. The client side does not natively support HTTPS, so stunnel in client mode is used.

Would setting TCP_NODELAY=1 help responsiveness in typical web browsing? The way I understand it, Nagle's algorithm bunches up packets and sends data in whole multiples of the packet size.

My own benchmarking seems to have shown zero difference, though probably because my internet link to the server is too good.

2 Answers 2

4

Nagle's algorithm only really impacts applications which send many small packets and are latency sensitive (such as SSH or telnet). Since web browsing involves relatively large packets with both sides sending multiple packets without waiting for a response there won't be a significant change when setting TCP_NODELAY.

1
  • Note that for example SQL timeouts does not work with TCP_NODELAY disabled (default). My current experience with Informix JDBC, I'm trying to enable it but I can't find any howto :( But for browsers I agree with you.
    – dmatej
    Oct 13, 2016 at 13:55
0

If you want to speed HTTPS:

  • enable KeepALive in HTTP protocol
  • enable compression
  • enable caching
  • install/enable SPDY for you web server
  • reorder compression algorithms to put the faster one at the beginning. Think also about security when enable/reorder those algorithms.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .