ฉันใช้วานิช 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 ที่ยาวมาก ไซต์ที่ฉันใช้งานมีขนาดใหญ่มากและมีหน้านับล้านหน้าซึ่งอาจไม่เหมาะกับขนาดพื้นที่จัดเก็บที่ระบุไว้ด้านบน (4 GB)
ตั้งค่าสำหรับคำถาม:
สมมติว่าพื้นที่เก็บข้อมูลทั้งหมดเต็มและไม่มีสิ่งใดในแคชหมดอายุ (TTL ของฉันคือ 2 สัปดาห์สำหรับทุกรายการในแคช)
ฉันสมมติว่า Ban Lurker ไม่มีประโยชน์ที่นี่เพราะมันจะลบเฉพาะรายการที่หมดอายุและไม่มีใครหมดอายุ
คำถาม:
จากสถานการณ์ข้างต้นจะเกิดอะไรขึ้นกับวานิชเมื่อมีคำขอเพิ่มเติมเข้ามาสำหรับสิ่งที่ไม่ได้อยู่ในแคช? น้ำยาวานิชพยายามลบรายการเก่าออกจากแคชหรือไม่โดยไม่คำนึงถึง TTL ของรายการเหล่านั้นหรือไม่? น้ำมันชักเงาผิดพลาดหรือไม่? แขวน?
ถ้าวานิชไม่จัดการสถานการณ์มีสิ่งที่ฉันสามารถทำได้เพื่อกำหนดค่าให้จัดการสถานการณ์ได้ดีขึ้นหรือไม่ (ฉันเห็นได้ชัดว่าสามารถลด TTL ของรายการในแคชได้ แต่ฉันสงสัยว่ามีคำแนะนำเพิ่มเติมใด ๆ )
ฉันเห็นในสถานการณ์นี้ว่าวานิชหยุดตอบสนองต่อการร้องขอได้อย่างมีประสิทธิภาพ เมื่อถึงตอนนี้ฉันไม่ได้อยู่ในหน่วยความจำหรือซีพียูในกล่อง
ขอบคุณ
ติดตาม:
ฉันยังเห็นโพสต์นี้
ซึ่งชี้ให้ฉันไปที่
ซึ่งดูเหมือนจะระบุทุกอย่าง "เพิ่งเกิดขึ้น" ... แต่ดูเหมือนว่าจริง ๆ แล้วมันจะส่งคำขอ PURGE สำหรับ URL ซึ่งอาจต้องเพิ่มสิ่งที่เหมาะสมลงใน VCL ของคุณ (ดูhttps://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
ฉันจะลองและจะติดตามว่าแก้ปัญหาได้หรือไม่