Varnish는 스토리지 부족 문제를 어떻게 처리합니까?


9

스토리지에 다음을 사용하여 기본 설치가 다소간 Varnish 3.0.3 (이 글을 쓰는 최신)을 사용하고 있습니다.

# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#

캐시 될 수있는 대부분의 페이지는 매우 긴 TTL을 갖습니다. 내가 작업하고있는 사이트는 방대하고 수백만 페이지가있어 위에 나열된 스토리지 크기 (4GB)에 맞지 않을 수 있습니다.

질문을 설정하십시오.

  • 전체 스토리지 공간이 가득 차고 캐시의 아무것도 만료되지 않았다고 가정합니다 (캐시의 모든 단일 항목에서 내 TTL은 2 주입니다).

  • Ban Lurker는 여기서 만료 된 항목 만 삭제하고 만료되지 않은 항목은 삭제하므로 쓸모가 없다고 가정합니다.

질문 :

  • 위 시나리오에서 캐시에없는 항목에 대해 추가 요청이 들어 오면 Varnish는 어떻게됩니까? Varnish는 해당 항목의 TTL에 관계없이 캐시에서 오래된 항목을 삭제하려고 시도합니까? 니스가 충돌합니까? 매달다?

  • 니스가 시나리오를 처리하지 않는 경우 시나리오를보다 잘 처리하도록 구성 할 수있는 방법이 있습니까? (캐시에있는 항목의 TTL을 분명히 낮출 수는 있지만 추가 제안이 있는지 궁금합니다.)

이 시나리오에서 효과적으로 니스가 요청에 대한 응답을 중지하는 것을 봅니다. 이 상황이 발생했을 때 상자의 메모리 또는 CPU가 부족하지 않습니다.

감사.


후속 조치 :

나는 또한이 게시물을 보았다

나를 향해 지적했다

모든 것이 "그냥 발생"한다는 것을 나타내는 것 같습니다 ...하지만 실제로 URL에 대한 PURGE 요청을 보내는 것처럼 보이며 VCL에 적절한 항목을 추가해야 할 수도 있습니다 ( https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )

나는 그것을 시도 할 것이고 문제가 해결되면 후속 조치를 취할 것입니다.


3
우리가 우려하는 한, 우리는 막대한 양의 데이터를 캐싱하기 위해 바니시를 사용합니다. 특히 30 기가 바니시 파일과 같은 약 2,8 백만 개의 이미지 이미지 저장소. 바니시는 30 기가를 채우고 새로운 것들이 캐시에 추가 되 자마자 "가장 오랫동안 액세스하지 않은"캐시 엔트리를 삭제합니다. 모든 캐시 항목에는 관련된 시간이 있으며 마지막 액세스 타임 스탬프입니다. 마지막 액세스 타임 스탬프가 가장 낮은 항목이 진행됩니다. (Btw : 이미지를 캐시
해야하는

답변:


1

설정에 따르면 광택 캐시를 저장하기 위해 디스크를 사용하는 것 같습니다.

sinni800과 같은 적절한 이유가없는 한 , 성능을 위해 권장되지 않습니다 .

니스 캐시 ( "파일"대신 "malloc")를 저장하는 데 RAM을 사용하고 문제를 재현하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.