Squid Ayarlarınız ve Performanslarınız



  • Tüm ayarları doğru yapmam ve bütün servislerin düzgün bir şekilde çalışmasına rağmen squid ten kaynaklandığını düşündüğüm bir internet yavaşlaması mevcut. Kısaca gözlemlediklerimi yazayım.

    Diskte ve ram de tutulacak maksimum veri boyutunu 512000 gibi bir değere ayarladığımda akşam olmadan bu değer şişiyor yani %80 lere geliyor ve internete çıkışlar yavaşlıyor. Siteler geç açılmaya başlıyor. Kendi kendime soruyorum. Sonuçta daha ram dolmadı ve dolsa bile eskiyen verilen ve popüleritesini yitiren veriler ram den silinmesi veya disk cache yazılması gerekebilir. Kimileri cron üzerinde bir görev yazarak her gün squid i restart ettiriyor. Bu gibi restart durumuna gerek kalmaması gerektiğini düşünüyorum. Ben bu gibi durumları yaşamamak adına mecburen 512000 yerine 100 kb gibi bir değer yazmak zorunda kalıyorum ki bir site üzerindeki resim ve yazı boyutlarını göz önüne aldığımızda yeterli diye düşünüyorum.

    İkinci husus ise disk performansı. Beb yapımda 7200 rpm disk kullanıyorum. 7200 rpm bir diskin ortalama yanıt verme süresi 13 ms gibi bir değer. Fiziksel bir sistem üzerinde geçerli olan bir değer tabikide. Fakat ben birde bu diskin üzerinde vmware esxi kullanıyorum ve pfsense sanal diskler üzerinde kurulu. Sistemi sürekli izliyorum ve datastore (fiziksel disk) ve pfsense üzerine tanımladığım sanal disklerin yanıt verme sürelerini takip ediyorum. Datastore yanıt verme süreleri bazı durumlarda 20 ms üzerine çıkarken virtual disk 40 ms hatta bazı durumlarda 60 ms üzerine çıktığını gördüm. Esasında bu facia denebilir. İşin içinde squid cache olduğu için diskin performansı önemli geldi bana. Çünkü veriye ulaşmada ms ler konuşuyor  ;) Pfsense üzerinde cache mgmt menüsü altında "Cache replacement policy" var. Muhtemelen herkez standart geleni kullanıyor olabilir. Ama şu şekil yaparsanız daha fazla performans alırsınız ve squid cache daha iyi optimize olur diyenler varsa paylaşbilir. Merak ettiğim bir konu ise hangi durumlarda veri ram de tutuluyor hangi durumlarda disk cache e yazılıyor. Bu durum "Cache replacement policy" e göre değişiyormu.

    Şehsen bu durumları göz önünde bulundurup ben donanım tarafında sunucuya ram ve ssd disk ile hardware raid yaparak performansı arttırmayı düşünüyorum.

    Elbet forumda squid performansı konusunda sıkıntı yaşayanlar vardır. Herkez pfsense için ayrıdığı donanımı ve pfsense performansını belirtirse herkez için yararlı olacağını düşünüyorum.



  • Squidguard kullanıyor musunuz ?
    İnternet trafiğinde squide nazaran SG'a bağlı ir performans kaybınız olabilir.

    squid'in çok hafıza kullanması, bilakis performansınızı arttıran birşey aslında. Çünkü ihtiyaç halinde ram'deki veriye ulaşım çok daha hızlı olur.
    Hafıza kullanımının artışı ile internet hızınızın yavaşlaması arasında pek bağ yok. Sizin durumunuz daha çok telekomun yoğunluğunun değişiminin size yansıması gibi geliyor bana. (sabah iyi akşam kötü :) )
    Restart durumuna gerek kalmamalı, benim sistemimin ekteki ekran görüntüsüne bakınız.

    Squidi konfigüre ederken en önemli şey, internet trafiğinizin karakteristiği.
    512000'in alternatifi 100 olmamalı.
    Kullanıcılarının çoğu, gazete, blog, sosyal medya gibi sitelere bağlanan bir squid yapılandırması ile, sürekli 15-20megabaytlık fotoğraflar indiren kullanıcıların konfigürasyonu çok farklı olmalı.

    • Squid mevcut ram'in en fazla yarısını kullanabilir. 32 bit bir sistemde makineye 3gb ram takıp bunun yarısını squide verin. 64 bit sistemde 3gb'dan fazla ram takabilirsiniz.

    • Artık çoğu yerde hız, band genişliği tasarrufundan daha önemli. Maximum object size için 20-25bin gibi bir değer bence genel için uygun. (Ben özellikle filehosting sitelerindeki dosya parçalarının 100er megabayt olması ve bunların diske kaydedilmesini istemediğimden 99bin kullanıyorum, buna benzer pek çok detayı düşünmek gerek)

    • Maximum object size in RAM default değeri 32 ama ben 128'den daha çok verim alıyorum.

    • Level 1 subdirectories çok önemli bir konu. Bu değerin yüksek olmasında fayda var. Ama her kademe yükseltilişinde squidin açılışı çok farkedilir düzeyde uzuyor. Ben 32 kullanıyorum. Sisteminizin açılış hızında sıkıntı yaratmıyorsa 256'ye kadar yolu var. Disk cache size'da bununla doğru orantılı.

    • Memory replacement policy ve Cache replacement policy bence en önemli parametrelerden birisi. Mevcut trafiğinizin yapısına göre burdan seçim yapın.
      Eğer trafiğiniz çok fazla küçük objeden oluşuyorsa, Heap GDSF fark yaratabilir. Ben Heap LFUDA 'dan memnunum. Aynı şey cache replacement policy için de geçerli.

    • Bu arada disk i/o işlemlerini etkileyen en önemli parametre "hard disk cache system". Ben standart UFS'yi kullanıyorum. Sanaldaki sistemde belki AUFS belki DISKD daha iyi sonuç verebilir. Bir ölçümlemeniz lazım.

    • Tüm bunlara ek olarak web performansı, dns performansı ile de yakından ilişkili. Çok hızlı DNS'ler kullanmalısınız. Artık çoğu insan yasaklar yüzünden kendi isp'si yerine google ya da open dns ya da root dnsleri kullanıyor. Bunlar da her bir alan adının (ki bir web sayfası içinde onlarca farklı alanadı barındıran obje var) 10ms'de çözülmesi yerine 60-70 yeri geliyor 350ms'de çözülmesi demek.
      Traffic shaper ile dns paketlerine yüksek öncelik tanımlamanızı da öneririm.




  • Dediklerinizin çoğunu uyguladım. Bakalım gözlemleyeceğim. Birde ben google dns lerini kullanıyordum ve farkındayım telekom dns lerinden daha yüksek yanıt verme sürelerine sahip olduğunu. Dns lerimide yeniden yapılandıracağım. Ben squid sanal sistemim için 3 gb ram ayırdım ve 1.5 gb cache için kullanılıyor. Burada anlamadığım nokta sisteme ne kadar ram verirsek verelim sadece yarısı squid için kullanılıyor. Biraz saçma geldi bana ama vardır bir mantığı herhalde. Yanıt verme sürelerinide ideal düzeye getirmek için diğer yolumda sunucudaki hdd leri ya 10000 rpm lik sata diskle değiştirip raid1 yapmak. Yada ssd disk ile raid yapmak.



  • Forumda bazı postlar var. SSD şimdilik pek önerilmiyor.
    Ben 1.2.3 versiyonunda iken squidi esx server üzerinde 2 sene kullandım. Hiç performans sorunu yaşamamıştım.
    Benim diskler 15000rpm 10 tane disk Raid çalışıyor.
    Tabii şu da var, sizin server yükünüz nedir bilemiyorum belki onun da etkisi vardır. Ben esx'i 48GB ram ve 16 çekirdek üzerinde çalıştırdığımdan, donanımsal olarak bir darboğazım olmadı hiç.
    Sizin diğer makineleriniz, pfsense'in önünü kesiyor olabilir mi ?

    Ayrı bir fiziksel makine üzerinde deneme şansınız varsa denemenizi öneririm.



  • Esxi sunucumda quad core xeon işlemci 4 gb ram var. 2x500 gb 7200 rpm disk var. Sunucumda software raid olduğundan esxi görmüyor. Bu nedenle diskleri tek tek kullanmam gerekti. esxi üzerinde 2 pfsense (loadbalance+proxy ve captiveportal) birde 5651 log için bir windows xp çalışıyor. Onun dışında çalışan bir sistem yok. load balance yapan pfsense için 512 mb ram. arkadaki proxy ve captive portal servislerini yürüten pfsense için 3 gb ram ayırdım. 512 mb ram de windows xp de. Onun dışından aktif olan bir sistem yok. esxi sunucum usb bellek üzerinde kurulu. Bir an dedim acaba usb bellekten kaynaklı bir sıkıntı olurmu diyede. Olması mümkün değil. Sonuçta sistemler normal hdd ler üzerinde kurulu. Sizin verdiğiniz ayarları uyguladım. dns leri de telekomun dns lerine ayarladım. şu an güzel çalışıyor.



  • Artı olarak  küçük bir ek yapmak isterim,
    -Sisteminize min 7200 rpm lik raid 0 yapılmış bir cache alanı belirleyebilirseniz bunun da faydasının olabileceğini düşünüyorum. Raid 0 ürkütmesin, neticede cache alanı olacağından data kaybının önemi olmayacaktır. Güzel diskler kullanırsanız Ssd performansına yakın sonuçlar da alabilirsiniz.
    -Bazı zamanlar yavaşlamasının bi nedeni de windows ya da mac update'leri için extra ayarlar yaptıysanız sebebi o da olabilir.



  • Esasında ssd kullanmaktan ve raid 0 dan korkmuyorum. Sonuçta vmware trim desteği olmasa bile yoğun parçalı veri içeren bir işlem olmayacak diskin üzerinde. Ayrıca raid 0 da veri kaybetsem bile converter ile sürekli yedek almış olacağımdan sıkıntı olmayacaktır. Şu an raid yapamıyorum çünkü sunucuda onboard yani software raid mevcut. hardware raid için de kart almam lazım. Windows ve mac update leri için herhangi birşey yapmadım. Bakalım şimdi tuzsuzdelinin verdiği ayarları yaptım bir gözlemliyorum ne olacak.



  • Şu anki ayarlarımda 4 gündür sorunsuz kullanıyorum. Bakalım ilerleyen günlerde sıkıntı olacak mı  ::)



  • Sistem verdiğiniz ayarlarda 9 gündür aktif çalışıyor. Bir sıkıntı çıkmadı şimdiye kadar. Ram seviyesi %90 da.



  • @MrPerFormance:

    Sistem verdiğiniz ayarlarda 9 gündür aktif çalışıyor. Bir sıkıntı çıkmadı şimdiye kadar. Ram seviyesi %90 da.

    Herşeyin yolunda olmasına ve geri bildiriminize sevindim.

    99% bile olsa Ram seviyesi ile ilgili bir sorun çıkacağını sanmıyorum.



  • Arkadaşlar squid konusunda benim de bir sorum var. Squid'i  daha önce yapılandırmıştım ve rahat çalışıyordui ki ben kurcalayana kadar. Yine çalışıyor fakat milliyet ve ntvmsnbc ye girerken hata veriyor. Squid, Squidguard ve Lightsquid'i kaldırdıktan sonra girdi, fakat onları baştan yükledikten sonra ayarlar kaldığı yerden devam etti. Sorun tahminimce "cache management" kısmında diye tahmin ediyorum ama yine de anlayan birisi var mı?

    Hatanın resmini de koyuyorum;

    Edit: Enteresandır, proxy server daki transparant işaretini kaldırınca düzeldi. Nedenini bilen var mı acaba?




  • Konfigürasyon parametrelerine bakmak lazım. Ekran görüntüsü var mı ?



  • Geçen gece ram %90 lardaydı ve sabah kalktığımda ram in %30 lara düştüğünü gördüm. Swap alan kullanılmaya başlanmıştı. %4 swap alan kullanılıyordu. Sistem swap alana geçmişse ram de bir yetersizlik olduğunu düşündüm.



  • Ben size çalıştığı müddetçe dokunmamanızı öneririm.
    Ben şimdi benim sisteme baktım.
    Swap 6%
    Memory 65%
    Sistem 132 gündür açık.



  • Peki bazı sitelerde güncelleme sorunu yaşıyormusunuz. Benim son zamanlarda milliyet.com.tr ile ilgili güncelleme sorunum var. Örneğin gün boyunca sitedeki güncellemeler görünmüyor. Bir sonraki gün sabah kalktığımda milliyet.com.tr ın güncellendiğini görüyorum. Normalde internete çıkığımızda proxy nin yapısı gereği öncelikle bağlanmak istediğimiz site cache te aranır daha sonra veriler site ile karşılaştırılır ve güncellenmiş verilerin olup olmadığına bakılır. Güncel veriler siteden alınarak kullanıcıya gönderilir. Ben böyle olması gerekir diye biliyorum. Yapmam gereken başka bir ayar daha varmı ki :S



  • Herşey iyi giderken msn problem yapmaya başladı. Ağımda olanlar msn e login olamıyrlar. Fakat direk modeme bağlanıp bir kere login olduktan sonra sıkıntısız pfsense arkasından login olabiliyorlar. İşin ilginç yanı sorunsuz çalışan messenger ın bir anda login işlemi yaptırmaması.



  • @tuzsuzdeli:

    Konfigürasyon parametrelerine bakmak lazım. Ekran görüntüsü var mı ?

    Hocam şimdi sorunum şu; yaklaşık 20-25 tane bilgisayara hükmeden tek bir bilgisayar, Pfsense kurdum. Yapı; modem>pfsense>swich>user olarak işliyor. Çok fazla teknik detay ve İngilizce bilmesem de dökümanların da yardımıyla Squid, Squidguard, Lightsquid,Radius ve Captive Portal paketlerini kurup stabil olarak çalıştırabildim. Pfsense makinam Pentium D 2.80 ghz 2 GB ram takılı bir bilgisayar.  İlk kurduğum zaman hiç bir sıkıntı yoktu. Ta ki Proxy Server'ın Cacahe Management sekmesini kurcalayana kadar. Benim tahminim bu ama elbette başka bir sorun da olabilir.

    Sorunumun içeriğine gelince, Proxy Server'da ki Transparent Proxy'yi açınca bazı sitelere girerken hata veriyor. Bütün paketleri silip, hatta Pfsense'i baştan kurmayı düşündüm fakat bu sefer de kullanıcıların Radius'da oluşturduğu şifreler de kaybolacak.  Hatanın ve Proxy Server'in ayar görüntüleri aşağıda.

    Biraz fazla uzattım farkındayım ama sorunumu tam olarak anlatabilmek için umarım sıkmamışımdır.
    Edit:
    Ekran görüntüsünü boyut fazla geldiği için almadı, buradan vereyim;

    ERROR

    The requested URL could not be retrieved

    While trying to retrieve the URL: http://forum.donanimhaber.com/

    The following error was encountered:

    The request or reply is too large.
    If you are making a POST or PUT request, then your request body (the thing you are trying to upload) is too large. If you are making a GET request, then the reply body (what you are trying to download) is too large. These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

    Your cache administrator is admin@localhost.
    Generated Fri, 29 Jun 2012 06:32:13 GMT by localhost (squid/2.7.STABLE9)










  • memory cache size'a 1024 yazın
    low water mark'a 90 yazın



  • @tuzsuzdeli:

    memory cache size'a 1024 yazın
    low water mark'a 90 yazın

    Malesef hocam aynı hata devam ediyor. Şu an için tamamen resetleyip paketleri baştan kurmayı düşünüyorum.

    Edit: Hocam sorunu çözdüm. Sanırım Proxy Server'da Wan değil de Lan seçiliymiş. Çok küçük bir detay ama az kalsın bugünümü yiyecekti benim hatayı bulmak için.

    Edit-2: Demek ki çok sevinmemek lazımmış. Ben en iyisi başlayayım yeniden kurmaya. :)



  • diğer arkadaşlar da performans ayarlarını gösterebilir mi.


Locked