[squid-dev] [PATCH] Collapse internal revalidation requests (SMP-unaware caches)
Alex Rousskov
rousskov at measurement-factory.com
Wed Jul 20 15:48:49 UTC 2016
On 07/20/2016 07:21 AM, Amos Jeffries wrote:
> Probably more a question for Alex;
> whats the point of UsingSmp() in determining transients
> initialization? I would expect collapsing to be doable in both SMP and
> non-SMP modes.
You are correct: Basic collapsed forwarding works in both SMP and
non-SMP modes, but Transients are not _needed_ for non-SMP mode and may
actually be harmful there. Here is a summary, for the record:
* Caching is supported in both modes.
* Basic collapsed forwarding is supported in both modes.
* Collapsed revalidation is supported in non-SMP mode only [for now?].
* Transients are needed for SMP caching to work.
Transients are not needed for and are harmful in non-SMP mode.
They are no longer created when not needed, fixing at least bug 4311.
* Configurations mixing SMP-aware and non-SMP-aware caches
in SMP mode are still not supported.
> In related things. I am working on improving the log tags to report to
> which transactions have been delayed by collapsed forwarding. ie. the
> crSlave transactions in this patch.
Please note that being collapsed (crSlave) does not imply a delay. If
collapsing was a success (i.e., the slave was able to use the response
received by an "earlier" concurrent transaction), then it actually
implies a [small] speedup! If collapsed forwarding was a failure (i.e.,
the response was not cachable/usable), then there will likely be a delay
indeed.
If crSlave transactions are "tagged", then an access log reader may be
able to tell whether they were successful by examining [the lack of]
some origin server connection details, but I have not tested that theory.
I agree that it would be useful to "tag" crSlave transactions in access
logs somehow, but I have not studied the best approach to doing so IIRC.
Thank you,
Alex.
More information about the squid-dev
mailing list