[squid-users] TCP Fast open and squid4

Amos Jeffries squid3 at treenet.co.nz
Fri Mar 6 09:08:57 UTC 2020


On 22/02/20 1:11 am, David Touzeau wrote:
> Hi
> 
> Is Squid handle TCP Fast open on modern kernel ?
> 

Not currently.
 AIUI the kernel may be configured with the feature on inbound
connections. But Squid does not read it until at least one I/O cycle
after the handshake completion anyway, so I would expect little
performance gain unless the connection RTT is large.


> Has anyone tried to implement this directive and noticed a performance
> improvement ?
> 

Not that I am aware of.

For inbound traffic;

 Kernels that support fast-open do not really need Squid support. They
can buffer the early data until Squid reads it in.

Adding support to Squid for this should not be too difficult. Patches or
PR's welcome.


For outbound traffic;

 Squid is designed to open connections first (possibly a very long time)
before data is sent. So fast-open would require a significant re-design
of the task scheduling systems.

IMO we would get better gains by simply re-ordering the tasks so
connection opening operated in parallel to assembly of the outbound
request. Anyone wanting to attempt that should get in touch via squid-dev.


Amos


More information about the squid-users mailing list