[squid-users] HTTP requests queue

Alex Rousskov rousskov at measurement-factory.com
Wed Jun 30 14:54:25 UTC 2021


On 6/30/21 4:51 AM, Moti Berger wrote:

> I'm using Squid with ICAPs and ECAPs. Some of them are faster than others.
> Does squid hold one queue for each chain (REQMOD/RESPMOD) or per ICAP/ECAP?

Squid maintains an adaptation chain dedicated to each HTTP message. At
that level, Squid does not know the difference between ICAP and eCAP --
they are all treated as generic "adaptation services". REQMOD and
RESPMOD chains associated with the same master transaction may be active
at the same time and can even be viewed as a single chain spanning two
HTTP messages (request and response).


> Meaning, if I have one ECAP and one ICAP in a chain where the faster
> ECAP is first.
> Will the ECAP keep getting new HTTP requests to adapt even if the ICAP
> that comes after it in the chain hasn't finished adapting the previous
> requests?

In general, there is no dependency among adaptation chains: Adaptation
of any two distinct HTTP messages happens independently or "in
parallel". When ICAP service options need to be refreshed, all affected
REQMOD or RESPMOD transactions will wait for that single OPTIONS
transaction, introducing what could be misinterpreted as a dependency.
An adaptation service may stall or prioritize some transactions, but
that is outside Squid's control.


HTH,

Alex.


More information about the squid-users mailing list