[squid-users] Queue incoming requests when fetching from origin
jaap.dam at gmail.com
Mon Jun 13 12:29:33 UTC 2016
I've got a reliable but slow backend that sends cacheble responses. When I
run a manual test, I can see I miss the cache every one in a while and got
hits most of the time. This is also reflected in the response time, 200+ ms
for a miss, ~20ms for a hit.
However when I request the same resource multiple times at the same
instant, I see multiple requests at the origin server. Ideally I would like
to have only a single request to the origin server and queuing all other
incoming requests in Squid.
The 'collapsed_forwarding on' option seems to do exactly as I want, however
when I turned this option and restarted Squid I still see multiple requests
at the backend.
I've tried to add a cache_dir as suggested in section 'Known issues and
shortcomings' on http://wiki.squid-cache.org/Features/CollapsedForwarding but
to no avail.
I've placed the config directive on multiple locations in the configuration
file, both before and after the http_port directive as well as the
cache_dir directive. Again no results.
Is the collapsed_forwarding directive the correct one to use for my
use-case or am i missing something?
I'm using the default configuration of version 3.5.19 with the following
#Queue incoming requests when a request is send to the backend. I.E.
collapse request into a single backend request.
# Squid normally listens to port 3128
http_port 3128 accel no-vhost defaultsite=localhost ignore-cc
#Backend requires basic auth
cache_peer 127.0.0.1 parent 53142 0 no-query originserver name=myAccel
#Allow caching of files that have a ttl of 1 seconds
minimum_expiry_time 1 seconds
acl our_sites dstdomain localhost
http_access allow our_sites
cache_peer_access myAccel allow our_sites
cache_peer_access myAccel deny all
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the squid-users