2010-04-09 3 views
4

우리는 Squid 캐시를 사용하여 웹 서버의 트래픽을 줄입니다. 웹 서버를 공격하기 전에 인바운드 요청에 응답하는 역방향 프록시로 설정됩니다.오징어 동시 캐시 미스 처리

캐시에없는 동일한 요청에 대한 동시 요청이 늘어날 때 Squid는 모든 요청을 Google의 웹 ("원점") 서버를 통해 프록시합니다. 우리에게는이 동작이 이상적이지 않습니다. 원본 서버가 N 개의 동일한 요청을 동시에 수행하려고 시도하는 경우가 발생했습니다.

대신 첫 번째 요청을 원본 서버로 보내고 나머지 요청은 Squid 계층에서 큐에 넣고 원 서버가 첫 번째 요청에 응답했을 때 오징어가 모두 수행하도록합니다 .

오징어를 구성하는 방법을 아는 사람이 있습니까?

문서를 여러 번 읽었으며 주제를 철저히 웹 검색했지만 검색 방법을 찾을 수 없습니다.

우리는 Akamai도 사용하고 있으며 흥미롭게도 이것이 기본 동작입니다. (그러나 Akamai는 매우 많은 노드를 가지고있어 Akamai의 수퍼 노드 기능이 활성화되어 있어도 특정 트래픽 스파이크 시나리오에서 많은 동시 요청을 볼 수 있습니다.)

이 동작은 일부 다른 캐시 (예 : Ehcache 문서는 "Concurrent Cache Misses"옵션을 제공합니다. 캐시 미스 (cache miss)는 캐싱 필터의 업스트림에있는 필터 체인을 처리하게합니다. 동일한 키를 요청하는 스레드가 쓸데없는 중복 작업을하지 않도록하려면 이러한 스레드가 첫 번째 스레드를 막습니다. "

일부 사람들은이 동작을 "블로킹 캐시"라고 부릅니다. 그 이유는 후속 동시 요청이 충족되거나 시간이 초과 될 때까지 첫 번째 요청 뒤에 차단되기 때문입니다.

내 멍청한 질문을 살펴 보는 Thx!

올리버

당신은 축소 전달 찾고있는

답변

9

: 3.x에서 아직 http://www.squid-cache.org/Versions/v2/2.7/cfgman/collapsed_forwarding.html

2.6 및 2.7에서 사용할 수 있지만

캐시에 뭔가가

하지만, 오래된, 당신은 또한 오래된-동안-reavlidate에 관심이있을 수 있습니다 http://www.mnot.net/blog/2007/12/12/stale

+0

은, 마크 주셔서 감사합니다! 그것이 바로 그 것이다. 또한 직감이 오래가는 것은 유효 기간이 길어서 우리가 선호하는 행동이기 때문에 약간 연구하고 잘하면 시험해 보겠습니다. –

+0

아직도 사람들이 올바른 이익을 표시 할 때 주석으로 고맙다는 말을하는 이유를 모르겠다. – Rudiger

+0

유사한 동작을 위해 [ATS] (https://trafficserver.apache.org/)를 구성하는 방법에 대해 궁금한 점이 있으시면 [원본 서버 요청 감소] (https://trafficserver.readthedocs.org/) 링크를 확인하십시오. en/latest/admin/http-proxy-caching.en.html # reduce-origin-server-requests-thundering-herd) & [축소 된 포워딩이 작동하지 않음] (http : //users.trafficserver.apache. narkive.com/WEieKdIW/collapsed-forwarding-not-work) – brutuscat