Vernik depolama alanınızın bitmesiyle nasıl başa çıkıyor?


9

Depolama için aşağıdakileri kullanarak varsayılan yüklemeyle birlikte Varnish 3.0.3 (bu yazının en son sürümü) kullanıyorum:

# # 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}"
#

Önbelleğe alınabilen sayfaların çoğunda çok uzun bir TTL bulunur. Birlikte çalıştığım site çok büyük ve yukarıda listelenen depolama boyutuna (4 GB) sığamayan milyonlarca sayfaya sahip.

Sorular için ayarlayın:

  • Tüm depolama alanının dolu olduğunu ve önbellekteki hiçbir şeyin süresinin dolmadığını varsayalım (TTL'im önbellekteki her bir öğe için 2 haftadır).

  • Ban Lurker'ın burada işe yaramaz olduğunu varsayıyorum, çünkü sadece süresi dolmuş öğeleri silecek ve hiçbiri süresi dolmamış.

Sorular:

  • Yukarıdaki senaryo göz önüne alındığında, zaten önbellekte olmayan bir şey için ek istekler geldiğinde Vernik'e ne olur? Varnish, bu öğelerin TTL'sine bakılmaksızın eski öğeleri önbellekten silmeye çalışıyor mu? Vernik çöküyor mu? Asmak?

  • Vernik senaryoyu işlemezse, senaryoyu daha iyi işlemek için yapılandırmak için yapabileceğim bir şey var mı? (Açıkça önbellekteki öğelerin TTL'sini düşürebilirim, ancak başka öneri olup olmadığını merak ediyorum).

Bu senaryoda Varnish'in isteklere yanıt vermeyi bıraktığını görüyorum. Bu noktada, bellekte veya CPU'da bellek yetersiz değilim.

Teşekkürler.


Takip et:

Bu yazıyı da gördüm

bu beni işaret etti

hangi şeyi "Şöyleki" işaret gibi görünüyor ... ama aslında sizin VCL uygun şeyler eklemek gerekebilir URL için bir PURGE isteği (bkz gönderir gibi görünüyor https://www.varnish-cache.org/ dokümanlar / 3.0 / tutorial / purging.html )

Ben bunu deneyeceğim ve bu sorunu çözerse takip edecek.


3
Söz konusu olduğunda, büyük miktarda veriyi önbelleğe almak için Varnish'i, özellikle de 30 gig Vernik dosyasıyla yaklaşık 2,8 milyon görüntünün görüntü deposunu kullanıyoruz. Vernik dolgusu 30 gig'i doldurur ve önbelleğe yeni şeyler eklenir eklenmez, "en uzun süre erişilmeyen" önbellek girdisini siler. Her önbellek girdisinin kendisiyle ilişkilendirilmiş bir zamanı vardır, son erişim zaman damgasıdır. En düşük son erişim zaman damgasına sahip giriş gider. (Btw: Neden görüntüleri önbelleğe alıyoruz !? HDD onlara hizmet etmek için çok yavaş ve her şey için SSD'ler çok
pahalıya mal oluyor

Yanıtlar:


1

Kurulumunuza göre, vernik önbelleğini saklamak için disk kullanıyor görünüyorsunuz.

İyi bir nedeniniz yoksa (sinni800 gibi) bu önerilmez ( performans için ).

Vernik önbelleğini ("dosya" yerine "malloc") depolamak için RAM kullanmayı deneyin ve sorunu yeniden oluşturun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.