[squid-users] pipeline_prefetch directive
Amos Jeffries
squid3 at treenet.co.nz
Fri Jan 3 10:05:14 UTC 2025
On 3/01/25 21:23, Jonathan Lee wrote:
> Hello fellow Squid Users,
>
> I understand this directive is removed in Squid7 again I am still trying to understand more about what it did and does in the older versions of software.
>
It was an attempt to implement the pipeline mechanism of HTTP/1.1
see <https://httpwg.org/specs/rfc9112.html#pipelining>
FYI; very few people have even considered turning it on. So do not be
surprised if you do not get a response to your more detailed questions
about its behaviour in current Squid.
> pipeline_prefetch historically was on or off for settings however today it is n+1 or a numerical value for the variable n.
>
> My question is after many trial and errors what is a good range to use for a 4GB memory system,
>
> I have attempted many different n values some being 100, 200, 300, 5, 10 etc it appears to work well with 100 or maybe it was my other changes with
> using the directive read_ahead_gap 64 KB and testing 16 and 32
>
> what is a good solid go go juice number for pipeline_prefetch? I do notice massive increases in facebook loads when I have it at 100 however decreased performance with news websites. It is like a can’t win directive for me. Finally I thought best to ask.
>
IMO the answer to that depends on your proxy traffic.
* A server that is able to produce responses very fast, operating over
a long-delay connection can benefit from requests being sent in a pipeline.
* As can two proxies communicating over a multiplexed, fast, **and**
reliable connection.
Most situations risk adding what is called Head-Of-Line (HOL) blocking
delays for the pipelined requests. HTTP/2 was created to solve that
problem and does far better.
> I do understand it is no longer recommended to be used this is simply for speed and the system is secure behind a firewall.
>
Firewall existence and security are not relevant to pipeline_prefetch.
Pipeline as implemented by Squid is only of much benefit when you
already have a high speed situation. As mentioned above.
The primary use-case of Squid pipeline_prefetch to my knowledge was for
the cache_peer links on proxies acting as accelerators on either end of
a geosync satellite communication link. Servicing international level
traffic relay for military outposts or small(ish) national teleco's.
The primary factor being very long-distance / high-lag TCP links.
Cheers
Amos
More information about the squid-users
mailing list