Saya menggunakan Varnish 3.0.3 (terbaru dari tulisan ini) dengan kurang lebih menginstal default, menggunakan yang berikut ini untuk penyimpanan:
# # 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}"
#
Sebagian besar halaman yang bisa di-cache akan memiliki TTL yang sangat panjang. Situs tempat saya bekerja sangat besar, dan memiliki jutaan halaman, yang tidak mungkin masuk ke dalam ukuran penyimpanan yang tercantum di atas (4 GB).
Atur untuk pertanyaan:
Mari kita asumsikan seluruh ruang penyimpanan penuh, dan tidak ada dalam cache yang kedaluwarsa (TTL saya adalah 2 minggu untuk setiap item dalam cache).
Saya berasumsi Ban Lurker tidak berguna di sini, karena hanya akan menghapus item yang kedaluwarsa, dan tidak ada yang kedaluwarsa.
Pertanyaan:
Dengan skenario di atas, apa yang terjadi pada Varnish ketika permintaan tambahan datang untuk sesuatu yang belum ada dalam cache? Apakah Varnish berupaya menghapus item yang lebih lama dari cache, terlepas dari TTL item itu? Apakah Varnish crash? Menggantung?
Jika Varnish tidak menangani skenario, adakah yang bisa saya lakukan untuk mengkonfigurasinya agar menangani skenario dengan lebih baik? (Saya jelas bisa menurunkan TTL item dalam cache, tapi saya ingin tahu apakah ada saran tambahan).
Saya melihat dalam skenario ini bahwa Varnish yang efektif berhenti merespons permintaan. Pada saat ini terjadi, saya tidak kehabisan memori atau CPU di kotak.
Terima kasih.
Mengikuti:
Saya juga melihat posting ini
yang menunjuk saya ke arah
yang tampaknya menunjukkan semuanya "terjadi begitu saja" ... tetapi sepertinya itu benar-benar mengirimkan permintaan PURGE untuk URL, yang mungkin memerlukan penambahan hal-hal yang sesuai ke VCL Anda (lihat https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
Saya akan mencobanya dan akan menindaklanjuti jika itu menyelesaikan masalah.
Jawaban:
Menurut pengaturan Anda, Anda tampaknya menggunakan disk untuk menyimpan tembolok pernis.
Ini tidak disarankan ( untuk kinerja ) kecuali Anda memiliki alasan yang bagus (seperti sinni800).
Coba gunakan RAM untuk menyimpan varnish cache ("malloc", bukan "file") dan mereproduksi masalah.
sumber