Kalamar Önbelleği - Bölüm 2

Squid yalnızca bir proxy ve önbellek hizmeti değildir, çok daha fazlasını yapabilir: acl'yi (erişim listeleri) yönetebilir, içeriği filtreleyebilir, hatta şeffaf modda bile ssl filtreleme yapabilir (proxy yöntemi - tarayıcılarından proxy ayarlarında yapılandırmaya gerek kalmadan) , ortadaki adam gibi, kimse orada olduğunu bilmiyor). Bu yüzden, bu uygulamanın tam potansiyelinin, her bir parçasını nasıl yapılandıracağımı bilmeyerek nasıl boşa gittiğini görüyorum.

Şimdi kalamarın yaptığı ilginç şey önbellek (bence). Bana neden önbelleğin olduğunu söyleyeceksin Nedeni basit, hızınızı ve bant genişliğinizi daha iyi yönetmek ana şeydir. Dikkatlice düşünün, her 1000 dakikada bir şirketinizdeki 5 kişiye danışmanlık yapıyor, ortak sayfalar, Google, Hotmail, Gmail vb. şeyler, hayır çok sık değişirler, yerel ağınızda saklanmaları daha iyidir ve düşündüğünüz yapılandırmalar içinde yeni olduğunu düşündüğünüz bir kopyasını teslim edersiniz.

Nasıl yapılır Aşağıdaki cümle ile basit:

refresh_pattern [-i] regex min percent max [options]

Her zaman söylediğim gibi, her şeye inanmayın, bu yüzden sizi resmi kaynaktan okumaya davet ediyorum. Bu cümlenin kılavuzunu okumanızı tavsiye ederim BURAYA

Cümle yenileme_düzeni Önbelleğe yeni parametreler eklemek her zaman bizim etiketimiz olacaktır.

Önemli, önbellek listeleriniz sıralı olmalıdır, çünkü nesneyle eşleşen ilk listeyle eşleştiğinde diğer kurallarınızı okumaya devam etmeyecektir.

Normal ifadeler büyük / küçük harfe duyarlıdır, bu nedenle flv, FLV ile aynı değildir, ancak isterseniz seçeneği kullanarak bundan kaçınabilirsiniz. -i . O zaman böyle görünürdü yenileme_pattern -i

'Min': bir nesnenin "yeni veya yeni" olarak kabul edileceği zamandır (dakika) ve açık bir "süresi dolmuş" etiketi yoksa. Squid, varsayılan olarak 0 olmasını önerir, bazı dinamik uygulamaların tuhaf davranması, saf falan filan, gerçekten bu değer, önbelleğe almak istediğiniz öğeler için yararlı ve etkili olduğunu düşündüğünüz bir sayı olmalıdır. örnek: jpg, 1440 dakika (bir gün) bana iyi geliyor, bir sayfada her 5 dakikada bir gönderinin görüntüleri değişiyormuş gibi değil.

'Yüzde' "Yeni veya yeni" olarak kabul edilecek bir nesnenin (son değişiklikten itibaren) yaşının yüzdesidir. Açıklayayım, belki bir web sayfasında yapılan son değişiklikleri görmek için sürekli bir yeniden yükleme veya yenileme yaparak, kalamar zaten zamanın% 50'sinin tamamlanmış olup olmadığını düşünebilir. dk y maksimum, bu nesneyi internetten yeniden indirin ve size yeni bir kopyasını verin.

'Max' sınırın üstünde veya buna eşittir 'Min' bir nesnenin ne kadar süredir "yeni veya yeni" olarak kabul edildiğini varsayalım, bir sayfanın görüntüsünün bir kullanıcı tarafından yalnızca bir kez başvurulduğunu, bu nesnenin zamanına ulaştığını varsayalım dkama değil maksimum, daha sonra tekrar sorgulandığında, bir önbellek kopyası teslim edilecektir.

Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale

Bu seçenekler, önbelleğin etkin kullanımını garanti altına almak için çoğunlukla dillerde ve protokollerde önceden belirlenmiş davranışları göz ardı etmek için yapılmıştır.

override-expire

Sunucu daha kısa bir sona erme süresi gönderdiğinde bile bir nesnenin minimum süresini zorlar (örneğin başlık veya Cache-Control gibi şeyler: max-age). Bunu yaparsak, "HTTP standardını İHLAL EDER" gibi şeyler söyleyen bir "uyarı" görünecektir, ancak bu sadece göz ardı edebileceğimiz uyarılardır. Şimdi bir sunucunun gönderdiği süre daha uzunsa, squid sunucunun zamanını (sona ermesini) alacaktır.

override-lastmod

Bir öğe yakın zamanda değiştirilmiş olsa bile, öğenin minimum süresini güçlendirir.

reload-into-ims

Kısa açıklama, yenileme düğmesine bastığımızda veya önbelleksiz bir istek yaptığımızda, squid'in "o zamandan beri değiştirilmemişse" ve / veya sayfada "başlık" yoksa önbellek teslim etmesini engellemesidir.

ignore-reload

Kullanıcıların sayfayı yeniden yükle veya yenile düğmesine basma eylemini yok sayın

ignore-no-store

Başlıklardaki videoları önbelleğe almama kuralı göz ardı edin

ignore-private

Özel içerik başlıklarında önbelleğe alınmaması gereken herhangi bir kuralı göz ardı edin, örneğin: facebook içeriği.

refresh-ims

Squid, nesnenin en yeni olup olmadığını garanti etmek için sunucuyla iletişim kurar. Eğer öyleyse, önbellek teslim edecek

store-stale

Squid, son kullanma tarihleri ​​olmasa bile tüm bu yanıtları kaydedecek, genellikle tekrar kullanılamayacakları için bu çok pratik değil. Etkinleştirmeye karar verirseniz, max-stale = NN olarak belirtmelisiniz

max-stale=NN

Yukarıdakileri etkinleştirdiyseniz, bu yanıt veya faktör için maksimum bir ömür belirtmelisiniz. Squid bu tarzdaki nesneleri teslim etmez ancak kaynak ile doğrulayabilir.

İşte taze "TAZE" durumunun tartıştığımız değerlere göre nasıl çalıştığına dair bir tablo:

  • TAZE eğer> şimdi sona ererse, yoksa STALE
  • ESKİ yaş> maksimum ise
  • TAZE if lm-faktör <yüzde, aksi takdirde STALE
  • TAZE eğer yaş <dk, başka BAYKAN

Burada çok fazla disk alanı, iyi ekipman ve iyi bir bant genişliği olan belirli bir şirket için örnek bir yapılandırma yer almaktadır.

refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
cache_mem 8092 MB

Artık önbellek sadece sabit diskte değil, aynı zamanda ram belleğini de önbelleğe alabiliriz, bu değer her kalamar işlemi içindir, bu nedenle, gibi yeniden yönlendiricileri kullanırken bunu dikkate almalısınız. kalamar muhafızı

maximum_object_size_in_memory 1024 KB

Squid'in RAM'de depolayacağı bellekteki nesnenin maksimum boyutu. Ayrıca bir minimum beyan edebilirsiniz.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Gördüğünüz gibi, biri RAM belleğindeki önbelleğin, diğeri ise sabit diskteki değiştirilmesidir. GDSF ve LFUDA olmak üzere 2 politika vardır. Birincisi, elinizde birçok küçük nesne varken önbellek isabetlerinin yüzdesini iyileştirmeyi, ikincisi ise tam tersini arar, boyutları ne olursa olsun nesneleri önbellekte tutar.

Şu anda bana sorduğunuzu düşündüğüm soru, ne kullanmalıyım? Ortamınızda çok sayıda sorgu yaptıklarını ve çok az indirmenin GDSF kullandığını düşünürseniz, aksine birçok indirme ve birkaç LFUDA sorgusu yaparlarsa . Bunu yapacağınız zaman LFUDA'yı önerirsem, bilmiyorum, 1TB diskte önbellekleyin, daha verimli olur.

maximum_object_size 4 MB

Bir nesnenin depolanması gereken maksimum boyut

cache_dir aufs /media/proxy249/cache 100 16 256

Önbelleğin nerede saklanacağına dikkat edin, burada önemli olan, ufs, aufs veya diskd kullanıyorsanız, 3'ü de aşağı yukarı aynı şekilde çalışır, fark, aufs ve diskd'nin sabit diskte G / Ç işlemleri yapmak için ayrı işlemlerle çalışmasıdır. disk ve squid işlemlerinin bu işlemler sırasında askıda kalmasını önleyin, ayrıca diskd bu görev için sahip olacağınız iş parçacığı sayısını belirleyebilirsiniz. İyi bir ekibiniz varsa aufs tavsiye ederim.

Boyut 100 (megabayt), 100000 koyabilirsiniz neredeyse 100 GB olup, kullanılabilirliğinize bağlıdır. 16, klasör sayısıdır ve 256, alt klasör sayısıdır. Her iki değerle oynayabilirsiniz, disklerinizin ne kadar hızlı olduğuna ve ne kadar kaynağınız olduğuna bağlıdır.


cache_swap_low 90
cache_swap_high 95

Bu seçenekler obje değiştirme değerleridir, kalamara göre filigran olarak minimum ve maksimum değerdir, bu sayıların yüzde (%) olduğu yerde ve çok küçük bir önbellekte bunun gibi% 5 şu anda bunun gibi% 300 diyelim. saniyede nesneler, ancak çok büyük önbelleklerde binlerce MB'den bahsediyor oluruz

Peki, seni orada bırakıyorum, bu şimdilik ve ayrıca kalamar 3.5 veya daha yüksek https sayfalarını (SSL) önbelleğe alamayacaklarını ve filtreleyemeyeceklerini söyleyenleri de dikkate alın, yakında size getireceğim, bu blogu izlemeye devam edin.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Jose Albert dijo

    İlk bölüm için mükemmel bir tamamlayıcı!

    Squid hakkında pek çok literatür var, ancak en pratik seçeneklerinde ilgili açıklamalar ve olası gerçek kullanım senaryolarıyla noktaya gelmek her zaman elinizin altında değil!

    Her zaman olduğu gibi, üçüncü bölümünü dört gözle bekliyorum!

    1.    brodydalle dijo

      Yorumun için teşekkürler. Doğru, tüm ilgili unsurların kısa bir açıklaması ve birkaç en iyi uygulama ayarı. Bununla birlikte, yorumlarınıza ve kendi deneyimlerinize her zaman dikkat ediyorum.

  2.   Artus dijo

    Merhaba, Windows güncellemeleri ve antivirüs ile ilgili bir sorunum var. Kurumumda yaklaşık 120 bilgisayarım var. Bu durumu nasıl iyileştirebileceğim konusunda bana bir fikir verebilir misin? Yardımınız için teşekkürler ve makaleyle ilgili tebrikler.

    1.    brodydalle dijo

      Merhaba, katıldığınız için teşekkürler .. peki size yardımcı olabilirsem, ama probleminizin ne olduğunu iyi açıklayın, güncellemeleri indiremez misiniz? Proxy'yi Internet seçeneklerine mi, tarayıcınızın proxy seçeneklerine mi eklediniz? Bağlantı noktalarını kontrol ettiniz mi yoksa bu güncellemeleri önbelleğe almak mı istiyorsunuz?

      1.    Artus dijo

        İhtiyacım olan şey, bir bilgisayar bir pencere veya antivirüs güncellemesini her indirdiğinde, yaklaşık bir ay boyunca önbellekte kalmasıdır, bu şekilde bant genişliğinden tasarruf etmek isterim, çünkü her sabah tüm bilgisayarlar aynı şeyi indirmeye başladığında her birini günceller ve bağlantı doygun hale gelir.

        Yardımlarınız için teşekkürler.

    2.    Mario dijo

      Basit şifrelenmemiş http indirmeleri olduğundan Squid ile bir sunucu çalışır. Önbellek için diğer çözümler, şirketlerde normal olan WSUS ve Altiris'tir.

      1.    Artus dijo

        Teşekkürler Mario aklımda tutacağım.

    3.    brodydalle dijo

      tamam hazır, anlıyorum, bu bağlantıyı kontrol et. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Virüsten koruma yazılımını önbelleğe almak için güncellemelerin nereden ve hangi uzantı altında (örneğin .exe) indirildiğini bilmeli ve önbelleğe almalısınız ...

  3.   Artus dijo

    Yardımlarınız için teşekkürler.

  4.   Erick dijo

    Günaydın arkadaşlar, davamda bana destek olur musunuz? Debian 2.7'da kalamar 9 .STABLE6'a sahip olduğumdan ve her şeyi yapılandırdığım için ve 10 pc ortamına monte ederken normal posta alıyorum, sorun 90 pc'ye monte ettiğimde yatıyor, sadece birkaç saniye çalışıyor ve oradan herkes internetsiz kaldı. Bana destek olur musun

  5.   JOSE RIVAS dijo

    Mükemmel açıklama, basit ama çok açık ve kesin. Şahsen okuyabildiğim en iyi açıklama.
    Bir sorum var, apk ve xapk gibi Android uygulamalarını önbelleğe almak mümkün mü?
    Dosyaların kaynağı ne olursa olsun dinamik önbelleği yapılandırmanın doğru yolu nedir?
    PfSense 2.4.5 kullanıyorum.