TCP Fast open and squid4

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

TCP Fast open and squid4

David Touzeau-3
Hi

Is Squid handle TCP Fast open on modern kernel ?

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

Best regards.

_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users
Reply | Threaded
Open this post in threaded view
|

Re: TCP Fast open and squid4

Amos Jeffries
Administrator
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
_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users
Reply | Threaded
Open this post in threaded view
|

Re: TCP Fast open and squid4

Alex Rousskov
On 3/6/20 4:08 AM, Amos Jeffries wrote:
> 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.
 FWIW, I doubt that redesigning for "reordering" is better than
redesigning for the "fast open" support, but I very much agree that, if
anybody wants to work on one or the other, then this should be discussed
on squid-dev before starting the development.


Thank you,

Alex.
_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users