วานิชจัดการกับที่เก็บข้อมูลไม่เพียงพออย่างไร?


9

ฉันใช้วานิช 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 )

ฉันจะลองและจะติดตามว่าแก้ปัญหาได้หรือไม่


3
เท่าที่เรามีความกังวลเราใช้วานิชในการแคชข้อมูลจำนวนมากเช่นกันโดยเฉพาะที่เก็บภาพประมาณ 2,8 ล้านภาพกับไฟล์วานิช 30 กิ๊ก วานิชเติมเติม 30 กิ๊กและทันทีที่มีสิ่งใหม่เข้ามาอยู่ในแคชลบรายการแคชที่ "ไม่สามารถเข้าถึงได้เป็นเวลานานที่สุด" รายการแคชทุกรายการมีเวลาที่เกี่ยวข้องรายการนี้เป็นเวลาการเข้าถึงล่าสุด รายการที่มีการบันทึกเวลาการเข้าถึงขั้นต่ำสุดจะไป (Btw: ทำไมเราแคชรูปภาพ!? เพราะ HDD ช้าเกินไปที่จะให้บริการและ SSD สำหรับค่าใช้จ่ายทุกอย่างมากเกินไป)
sinni800

คำตอบ:


1

ตามการตั้งค่าของคุณดูเหมือนว่าคุณจะใช้ดิสก์สำหรับเก็บแคชวานิช

ไม่แนะนำ ( เพื่อประสิทธิภาพ ) เว้นแต่คุณจะมีเหตุผลที่ดี (เช่น sinni800)

ลองใช้ RAM เพื่อเก็บแคชวานิช ("malloc" แทนที่จะเป็น "file") แล้วสร้างปัญหาขึ้นมาใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.