При многократном запросе к Squid отправьте один запрос на бэкэнд и поставьте в очередь другие запросы при промахе

Я хотел бы защитить внутренний сервер, если Squid отправит один запрос на сервер, когда есть промах в кэше для ресурса. Во время выборки другие запросы следует приостановить до тех пор, пока не вернутся отдельные запросы.

Заголовок stale-while-revalidate почти делает то, что я хочу, однако, когда оба времени max-age и stale-while-revalidate прошли, устаревшего ответа не будет, и на серверную часть будет отправлено несколько запросов.

Директива collapsed_forwarding кажется именно тем, что я ищу. Но я не могу заставить это работать, как ожидалось, все еще вижу несколько запросов к бэкэнду в течение периода максимального возраста. Я тестирую это с помощью SoapUI 5.2.1 Simple Load Test с 40 потоками.

Моя текущая конфигурация для Squid (3.5.19) является конфигурацией по умолчанию со следующими изменениями:

#Queue incomming requests when a request is send to the backend. I.E. collapse request into a single backend request.
collapsed_forwarding on

# 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 login=username:password

#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

Запрос URI: / rest / information / bridge / Test? isrs = AB12345

Заголовок ответа Cache-Control no-transform, max-age = 2

1
задан 9 June 2016 в 09:56
1 ответ

На данный момент кажется невозможным достичь желаемого эффекта collapsed_rowarding для обратного проксирования. Я задал этот вопрос в списке рассылки squid, в котором был получен ответ (после отправки некоторого журнала):

Свернутая пересылка еще не применяется к запросам на повторную проверку кеша. Factory работает над реализацией свернутых повторных валидаций (в некоторых среды), но я не могу обещать конкретную дату доставки или ваша конкретная среда будет покрыта.

См. список рассылки для более подробной информации: http://lists.squid-cache.org/pipermail/squid-users/2016-June/011021.html

0
ответ дан 4 December 2019 в 06:13

Теги

Похожие вопросы