Haziran 2008 için Arşiv

MTA Savaşları ve SPAM ile Mücadele

Pazartesi, 23 Haziran 2008

MTA savaşları şu sıralar sanki biraz durulmuş gibi görünüyor. En azından e-posta listelerinde daha az tartışılıyor olması belki bunu gösteriyor olabilir. Ancak benim görüşüm bu tartışmaların asla bitmeyeceği yönünde. Diğerlerini (exim, sendmail vs.) bir kenara bırakırsak Postfix ve qmail arasındaki rekabetin her daim var olacağını düşünmekteyim.

Yönetim ve Özelleştirilebilirlik:

Şimdiye kadarki profesyonel iş hayatım boyunca her ikisini de ayrıntılı olarak kullanma / geliştirme aşamalarının büyük bölümüne şahit oldum, pek çoğunun bizzat içinde bulundum. Özetle şunu söyleyebilirim ki; özellik zenginliği olarak kesinlikle Postfix. Tabi olay sadece özellik sayısı, yetkinliklerde sınırlı tutulmamalı. Bu sadece benim görüşüm.

Madem Postfix bu kadar zengin, neden qmail de ciddi bir rakip olarak karşımıza çıkıyor diye de sormadan edemiyor insan. Bunun da en büyük sebebini kolay genişleyebilirlik olarak özetleyebiliriz. Eğer bir programcıysanız, bunun rahatlığını gerçekten ilk başta fark edeceksiniz. Çünkü bir mesajın iletimi sırasındaki aşamalardan herhangi birinde veya ardıl iki aşama arasında mesaja müdehale etmek için (pek çok durumda) qmail’in dahili işleyişinden anlamanız veya dahili işleyişine müdehale etmeniz, qmail’i tekrar derlemeniz, kodlarında değişiklikler yapmanız gerekmiyor. Büyük posta sağlayıcılarının (Yahoo! ve GMail gibi) qmail’i tercih etmelerinin sebebi de bunda gizli.

Performans:

Qmail, sizin ihtiyaçlarınızı karşılayabilecek kadar yavaş çalışır. Bir önceki bölümde de bahsettiğim gibi, özelleştirilebilirlik konusunda son derece esnek olduğundan siz neye ihtiyacınız varsa onu kullanırsınız. Postfix tarafında durum biraz daha farklı. Performans olarak aslında qmail ile Postfix’i hemen hemen aynı seviyede değerlendirebilirim. Asıl performansı etkileyen mevzular ise daha aşağıda bahsedeceğim Anti-SPAM tekniklerinde gizli.

Şüphesiz, performansı etkileyen bir diğer etken ise işletim sistemi olacaktır. Bu durumda elimizde iki seçenek kalıyor: Linux ve FreeBSD (evet diğerlerini yine acımasızca elediğimin farkındayım, çoğunluğa göre değerlendirme yapıyorum çünkü). Sanılanın aksine qmail FreeBSD üzerinde, Postfix Linux üzerinde düzgün çalışır diye bir olay bence söz konusu değil. Böyle sanılmasının bence en büyük sebebi lisanslar. qmail lisansı yüzünden pek çok Linux dağıtımının standart paket depolarına giremiyor, dağıtımlarla birlikte dağıtılamıyor, derlenmiş hali dağıtılamıyor vs. Bunun aksine Postfix ise dağıtımlardan büyük oranda destek alıyor ve derlenmiş hali de rahatlıkla dağıtılabiliyor, dağıtımlar kendilerine özgü yamaları uygulayıp dagıtabiliyorlar. Postfix’in Linux dünyasında yaygın olmasının yegane sebebi bence bundan öte bir şey olamaz. Belki bir de Linux kullananların genelde fanatik olup GPL olmayan programlara karşı anti-pati beslemeleri de biraz olsun etkilemiş olabilir bu durumu.

Ayrıca Postfix’in FreeBSD üzerinde tercih edilmeyişinin bir sebebi de Postfix’in ilmek (thread) yapılı bir çalışma mekanizmasının olması ve FreeBSD’nin ilmeklerle ilgili sorunlarının yeni yeni düzeliyor olması da etken olabilir. Ancak FreeBSD 6.x ve sonrası için bu durum da neredeyse tamamen ortadan kalkmış görünüyor. Özellikle 7.x serisiyle çok daha iyiye gidecek gibi bu ilmek hadisesi, bakalım bekleyip göreceğiz.

Zayıf Halka: Anti-SPAM

SPAM ile mücadele, pek çok posta sağlayıcı ve ISS (Internet Servis Sağlayıcı)’ler için ciddi anlamda külfet oluşturuyor. Büyük mücadeleler gösteriliyor. İşte bu noktada işin ucunda para oluyor. Çok yoğun bir posta trafiğiniz varsa (yoğun derken burada günlük birkaç milyon veya daha fazla postanın işlendiği geçitlerden bahsediyorum), belirli bir çözüm üzerine odaklanıp onunla yetinmeniz pek yeterli kalmıyor.

Her iki popüler MTA için de ortak olan, yaygın kullanılan anti-spam çözümü olarak bir ASF (Apache Software Foundation) ürünü, devasa Spamassassin gösterilebilir. Devasa dememdeki sebep aslında çok karmaşık algoritmaları başarıyla uygulayabiliyor olmasından kaynaklanıyor. Ancak tabi bunun da bir dezavantajı var: Perl. Bildiğiniz gibi Spamassassin Perl dili ile yazıldığından performans olarak gerçekten ciddi donanım yatırımlarına ihtiyaç duyuluyor. Bu muhtemelen şirketinizde kullandığınız, bir kaç alan adını barındırdığınız e-posta sunucunuz için bir sorun değil, ama yukarıda bahsettiğim “yoğun” e-posta sunucuları için son derece ciddi bir sorun.

Spamassassin dedik, Perl dedik, yavaş dedik, yok mu bunun alternatifi de diyelim o zaman. Bu durumda -güvenlik konusunda pek çok alanda olduğu gibi- karşımıza OpenBSD çıkıyor. OpenBSD geliştiricileri DSPAM isminde C dili ile yazdıkları bir Spamassassin alternatifini geliştirmeye başlamışlar ve gayet de iyi bir duruma getirmişler şu anda. Yalnız yine de -henüz- spam yakalama konusunda Spamassassin kadar başarılı olabileceğini şahsen düşünmüyorum.

Bir diğer mevzu ise Anti-SPAM çözümlerinin pek çoğunun nedense (nedense diyorum ama sebebini az çok tahmin ediyorum: aşağıda) Perl dilinin kullanılıyor olması. Amavisd-new, MailScanner, postgrey (Postfix için greylist yöneticisi) ve daha bu listeye eklenecek pek çok yazılım vardır eminim Perl ile yazılmış. Tahmin ettiğim sebebe gelince: Spam yakalama işi büyük oranda katar (string) işleme işine dayalı olduğundan, algoritmaların uygulanmasının Perl ile son derece kolay olduğu.

Kısaca özetlemek gerekirse, eğer programcıysanız ve kendi e-posta sunucunuzda geliştirme yapmanız gerekiyorsa (veya istiyorsanız) kesinlikle qmail kullanmanızı tavsiye ederim. Yok eğer ki “ben sistem yöneticisi dostu bir MTA arıyorum” diyorsanız, o zaman size Postfix verelim. Anti-SPAM konusunda da, yukarıda da bahsettiğim gibi bir kaç alan adını barındıran ufak sunucular için Spamassassin çok çok yeterli gelecektir. Daha hızlı ve daha büyük kapasiteye ihtiyacınız varsa, DSPAM ile birlikte Spamassassin kullanmanızı tavsiye ederim. Ayrıca böyle bir durumda spam mesajları ayıklamak için mesajların anti-spam aracına daha ulaşmadan (Spamassassin veya DSPAM) kesecek yöntemlere de ciddi anlamda önem vermelisiniz. Özellikle greylisting ve RBL.

Düzenleme: Edebi hatalar hakkındaki yardımları için Levent‘e teşekkürler.

Uygulamalar

Pazartesi, 16 Haziran 2008

simplicity.jpg

Kaynak: http://stuffthathappens.com/blog/2008/03/05/simplicity/

Mac OS X 10.5 (Leopard) Performans İpuçları

Cuma, 13 Haziran 2008

Bir süredir 12” PowerBook G4 makinemde Leopard kullanıyordum. Ancak performansı beni tatmin etmiyordu açıkçası. Pek çok kere Tiger’a geçmeyi de düşündüm ama verilerin yedeklenmesi gerekiyordu. Ayrıca kurulum sonrasında pek çok güncellemenin ve diğer tüm yazılımların yeniden kurulması bana zor geliyordu. O yüzden biraz araştırıp performans ile ilgili notları toparlamaya ve biraz olsun kendimden de bir şeyler katamay karar verdim ve aşağıdakileri sizler için çıkardım:

Spotlight - Kullanmıyorsanız kesinlikle kapatın

Spotlight bildiğiniz gibi pek çok konuda işe yarayabiliyor, açıkçası daha yüksek donanım özelliklerine sahip bir makinem olsaydı açık kalmasında sakınca görmezdim. İlk başlarda indeksleme ayarlarını sadece uygulamaları indeksleyecek şekilde ayarlamıştım. Bir süre bu şekilde devam ettim ancak bu da pek yeterli olmadı. Gerçi kısa yolları Dock üzerinde olmayan uygulamaları başlatmak için gayet pratik oluyordu ama yine de kapatmaya karar verdim.

Spotlight’ı devre dışı bırakmak için:

/System/Library/LaunchAgents/com.apple.Spotlight.plist
/System/Library/LaunchDaemons/com.apple.metada.mds.plist

dosyalarını (daha sonra Spotlight’ı devreye almak isteyebileceğiniz ihtimaline karşı) başka bir dizine taşıyın ve bilgisayarınızı yeniden başlatın.

Bahar Temizliği: Monolingual

http://monolingual.sourceforge.net/ adresinden ücretsiz olarak temin edebileceğiniz açık kaynak kodlu şahane bir yazılım olan Monolingual’ın genel olarak yaptığı iş, kullanılmayan dil dosyalarının temizlenmesi. Bu hem uygulamaların açılış hızlarını az miktarda da olsa etkiliyor hem de diskinizde yer açmakta yardımcı oluyor. Tabi bu yazılımın yetenekleri sadece bununla sınırlı değil. Bildiğiniz gibi pek çok Mac uygulaması Universal binary olarak geliyor, yani hem Intel hem de PPC tabanlı Mac’lerde aynı uygulamalar sorunsuz çalışsın diye, ikili (derlenmiş) dosyalar PPC ve Intel için çalışabilir halde oluyorlar. Bu da haliyle uygulamaların açılışında performans sorunlarına sebep olabiliyor. Monolingual ile Mac’inizdeki tüm uygulamaları tarayarak sadece sizin işlemcinize uygun iki dosyaların kalmasını, diğerlerinin silinmesini, ikili dosyalar içinde bulunan sizin işlemcinize uygun olmayan, dolayısıyla hiç bir işinize yaramayan kodların da temizlenmesine yardımcı oluyor. Herhangi bir soruna sebep olmuyor, gönül rahatlığıyla kullanabilirsiniz. Ayrıca çok sık program yükleyip kaldırıyorsanız veya sistemde yazılım güncellemeleri yapıyorsanız, arada bir Monolingual ile temizlik yapmanız gerekecektir. Mesela ayda bir veya haftada bir kullanabilirsiniz.

Dock ve Animasyonlar

Dock Leopard’da bayağı makyajlanmış bir halde bulunuyor, aslında fena da görünmüyor ancak çalışma performansını son derece etkileyen bir arayüze sahip. Dock ve diğer pek çok animasyonları ve kullanmadığınız görsel güzellikleri devre dışı bırakmak için iki tane güzel araç var. Birisi TinkerTool diğeri ise Docker. Her iki yazılım da son derece kolay kullanıma sahip ve tamamen ücretsiz yazılımlar. TinkerTool aracını http://www.bresink.de/osx/TinkerTool.html adresinden, Docker’ı ise http://www.blocksoft.net/docker.html adresinden indirebilirsiniz. Bu uygulamalar için detaya pek girmek istemiyorum, çünkü zaten kullanıları son derece basit ve güzel arayüzleri var. Sadece bilmeniz gereken: Dock ile ilgili ayarlarda 2d görünüme geçirin ve Dock’daki animasyonları devre dışı bırakın. Hatta (eğer kullanmıyorsanız) TinkerTool ile General bölümünden “Deactivate Dashboard” seçeneğini işaretleyerek Dashboard’u da tamamen kapatabilirsiniz.

Menülerin Yarısaydamlığı

Menülerin yarısaydam görünmesi de performansı etkileyen faktörlerden. Bunu da devredışı bırakmak isterseniz terminalden şu komutu vermeniz yeterli:

sudo defaults write /System/Library/LaunchDaemons/com.apple.WindowServer ‘EnvironmentVariables’ -dict ‘CI_NO_BACKGROUND_IMAGE’ 1

Yukarıdaki komutu tek satırda vermeniz gerekiyor. Bu işlemden sonra bilgisayarınızı yeniden başlattığınızda menülerin yarısaydamlığının ortadan kalmış olması gerekiyor.

Erişim Hakları

Disk Utility aracıyla (Applications/Utilities altında bulabilirsiniz) diskinizin erişim haklarını düzenlemeniz performası az da olsa artıracaktır. Bunun için sol taraftaki listede diskinize tıklayın ve sağ tarafta First Aid bölümünde Repair Disk Permissions butonunu kullanabilirsiniz. İşlem biraz uzun sürecektir.

Yazılım Güncellemeleri

Apple’ın çıkardığı güvenlik ve iyileştirme güncellemelerini muhakkak yükleyin, içlerinde performans iyileştirmeleri de olabiliyor.

Güvenli Sanal Bellek

Leopard ön tanımlı olarak virüslerin ve/veya zararlı yazılımların verilerinizi ele geçirmesini zorlaştırmak için disk belleğini (belleğin yetmediği durumlarda diskin bir kısmını bellek olarak kullanma işi) bir diğer değişle swap alanını şifreleyerek saklar. Bunu devre dışı bırakmanız performansı büyük oranda etkileyecektir. System Preferences’dan Security bölümüne gelin ve Use secure virtual memory seçeneğini devre dışı bırakın. Hazır Security kısmına gelmişken FileVault bölümüne de bakın etkinse onu da devre dışı bırakın.

Tarayıcı (Browser) Seçimi

Genel olarak Safari gayet güzel ve hızlı çalışıyor ancak uyumluluk konusunda bazı sitelerde sorun çıkartabiliyor. Gerçi 3. sürümüyle epey yol aldı diyebiliriz, çok daha az sorun çıkartıyor. Pek çok kişi Safari yerine Firefox kullanıyordur. Firefox 3 bu yazı yayınlandığında muhtemelen nihayi sürümüne ulaşmış olacak. Performans ve görünüm olarak Safari’yi pek aratmıyor, 3. nesil Firefox’a terfi edebilirsiniz. Ama benim asıl tavsiyem Camino olacaktır. Eğer sadece Firefox’ta olan özelliklere (mesela çeşitli eklentilere) ihtiyacınız pek yoksa kesinlikle Camino kullanmanızı tavsiye ederim. Gayet hızlı ve Safari’nin sorun çıkardığı sitelerde gayet sorunsuz çalışıyor.

Son Olarak

Kullanmayacağınız uygulamaları yükleyerek güzelim Leopard’ınızı kirletmeyin ve arada bir burada yazılanları gözden geçirerek performans sorunlarınızı kalıcı olarak bertaraf edin. Ben 12″ PowerBook G4 makinemle, 1.5 GHz PPC işlemciyle ve 1.25 GB Ram ile Leopard’ı çok çok iyi olmasa da yine de tahammül edilebilir bir seviyede kullanmaya devam ediyorum. Sizin donanımınız daha iyiyse muhakkak çok daha iyi sonuçlar elde edeceksiniz. Sizin de keşfettiğiniz, öğrendiğiniz performans ip uçları olursa paylaşmanızı dilerim.