Tôi đang sử dụng Varnish 3.0.3 (bản mới nhất của bài viết này) với ít nhiều cài đặt mặc định, sử dụng cách sau để lưu trữ:
# # 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}"
#
Hầu hết các trang có thể được lưu trong bộ nhớ cache sẽ có một TTL rất dài. Trang web tôi đang làm việc rất lớn và có hàng triệu trang, không thể phù hợp với kích thước lưu trữ được liệt kê ở trên (4 GB).
Thiết lập cho các câu hỏi:
Giả sử toàn bộ không gian lưu trữ đã đầy và chưa có gì trong bộ đệm hết hạn (TTL của tôi là 2 tuần cho mỗi mục trong bộ đệm).
Tôi cho rằng Ban Lurker là vô dụng ở đây, vì nó sẽ chỉ xóa các mục đã hết hạn và không có mục nào hết hạn.
Câu hỏi:
Với kịch bản trên, điều gì xảy ra với Varnish khi các yêu cầu bổ sung xuất hiện đối với một thứ chưa có trong bộ đệm? Varnish có thực hiện bất kỳ nỗ lực nào để xóa các mục cũ khỏi bộ đệm, bất kể TTL của các mục đó không? Varnish có sụp đổ không? Treo?
Nếu Varnish không xử lý kịch bản, tôi có thể làm gì để cấu hình nó để xử lý tình huống tốt hơn không? (Tôi rõ ràng có thể hạ thấp TTL của các mục trong bộ đệm, nhưng tôi tự hỏi liệu có bất kỳ đề xuất bổ sung nào không).
Tôi đang thấy trong kịch bản này rằng Varnish thực sự ngừng đáp ứng các yêu cầu. Tại thời điểm điều này xảy ra, tôi không hết bộ nhớ hoặc CPU trên hộp.
Cảm ơn.
Theo sát:
Tôi cũng thấy bài này
mà chỉ cho tôi về phía
có vẻ như chỉ ra mọi thứ "chỉ xảy ra" ... nhưng có vẻ như nó thực sự gửi yêu cầu PURGE cho URL, có thể yêu cầu thêm nội dung phù hợp vào VCL của bạn (xem https://www.varnish-cache.org/ docs / 3.0 / guide / purging.html )
Tôi sẽ thử điều đó và sẽ theo dõi nếu điều đó giải quyết được vấn đề.