Ana Sayfa » *nix » Postal: Smtp Performance Benchmark

Postal: Smtp Performance Benchmark


BerbatKötüİdare EderGüzelHarika (Toplam 3 oy. 5 puan üzerinden ortalama 4,67 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Postal, mail sunucuların performans testlerini yapmak üzere geliştirilmiş güzel ve küçük bir yazılımdır. Temel olarak postal ile belirlediğiniz adreslere (ya da adres listesine), belirlediğiniz bir süratte e-mail göndererek, mail sunucusunun gelen postaları işleme hızını tespit edebiliyorsunuz. Postal, gönderilecek maillerin ebatı, gönderimin kaç süreç ile yapılacağı, dakikada ne kadar mail atılacağı ve bağlantı başına gönderilecek mail adedine kadar bir çok test parametresini belirlemenize olanak sağlıyor. Aynı zamanda postal içerisinde gelen rabid aracı ile mail sunucunuzun pop3 servisi için de benzer testleri yapabiliyorsunuz.

Ben postal'ı marketing mailleri için kullandığım posta sunucularının gönderim hızlarını tespit etmek için kullanıyorum. Bu araçla, birden fazla posta sunucusuna round-robin gönderim yapabiliyor ve genel durumu da tespit edebiliyor ve test verilerinden hareketle sistemlerinizi iyileştirme şansına sahip oluyorsunuz.

Yazının devamında, postal'ın kaynak koddan kurulumu ve işlemlerinin yapılmasından bahsedeceğim. Siz de posta sunucularınızın performanslarını ölçmek istiyorsanız işinize yarayacaktır.

Postal


Girişte kısaca bahsettiğim çalışma prensibi şu şekilde; Postal email gönderilecek adresleri hazırladığınız bir text dosyasından okuyor ve bu adreslere belirlediğiniz eşiklere göre mail gönderiyor. Gönderilen maillerin başlığı ve gövdesi random olarak üretiliyor ve default olarak 0 ile 10 Kbyte arasında bir ebata tekabul ediyor. Ancak bu değerleri de ayrıca belirtebiliyorsunuz. Bunun dışında gönderilen maillerin header'ların X-Postal ibaresi ekleniyor, bu şekilde mailleri yanlış bir posta adresine göndermeniz durumunda kolayca filtrelenebilir hale getiriliyor.

Kurulum


Postal FreeBSD ağacında ya da paket deposunda bulunuyor, ancak ben burada kaynak koddan kurulmasını anlatacağım. Herhangi bir bağımlılık paketi yok. Bundan dolayı kurulum oldukça basit. Ancak, derleme işleminin yapılabilmesi için sisteminizde gcc ve gcc-c++ paketlerin kurulu olması gerekir.

Postal'ın son sürümünü http://doc.coker.com.au/projects/postal/ adresinden ediyoruz:

# wget http://www.coker.com.au/postal/postal-0.70.tgz

Download edilen paketi açıp kurulum dizinine geçiyoruz:

# tar xvfz postal-0.70.tgz
# cd postal-0.70

Sonrasında klasik şekilde kuruyoruz:

# ./configure
# make
# make install

Kurulum bu kadar.


Herşeyden önce test sırasında email gönderilecek adresleri içeren bir text dosyasına ihtiyacınız var. Email adreslerini, aşağıda görüldüğü şekilde alt alta bir dosyaya yazmanız yeterli:
# more users.txt
[email protected]
[email protected]
[email protected]
[email protected]

Bu listeyi kullanarak kısa bir test yapmak için postal komutu şu şekilde:

# postal -t 1 -r 60 192.168.12.12 /user.txt

Bu komutla, 192.168.12.12 ip adresli posta sunucusu kullanılarak (default 25. ) tek bir süreç üzerinden, users.txt dosyasında bulunan email adreslerine dakikada toplam 60 adet mail gönderilmesini söylüyoruz.

Görüldüğü gibi -t süreç sayısını -r ise toplam gönderilecek e-mail sayısını belirtiyor.

Bunun yanı sıra gönderilecek maillerin minimum ve maximum size'larını da şu şekilde belirtebilirsiniz:

# postal -M 3 -m 5 -t 1 -r 60 192.168.12.12 /user.txt

-m kbyte cinsinden minimum size'ı, -M ise maximum ebatı belirtir. Bu örnekte emailler 3 ile 5 kbyte arasında random bir ebata sahip olacaklar.

Birden fazla posta sununusunu test etmek istiyorsanız posta sunucuların virgul (,) ile ayırarak belirtebilirsiniz.

# postal -M 3 -m 5 -t 1 -r 60 192.168.12.12,192.168.12.13,192.168.12.14 /user.txt

Bu komutta emailler sıralı olarak (round-robin) 192.168.12.12, 13 ve 14 ip'li sunuculardan gönderilecek. Ayrıca -c parametresini kullanırsanız aynı bağlantıdan gönderilecek posta adedini belirleyebilirsiniz.

Postal'ın tüm paramterleri aşağıdaki şekildedir:

postal [-m maximum-message-size] [-M minimum-message-size] [-t threads]
         [-c messages-per-connection] [-r messages-per-minute] [-a]
         [-b [no]netscape] [-p ] [-[z|Z] debug-file]
         [-l local-address] [-f sender-file]
             -server user-list-filename

Daha fazla bilgi http://doc.coker.com.au/projects/postal/ adresine ya da man sayfasina bakabilirsiniz.

http://doc.coker.com.au/projects/postal
Visited 250 times, 1 visit(s) today
Kategoriler: *nix,ipucu |

Bu yazılar da ilginizi çekebilir:


- noatime – Disk I/O Optimizasyonu
- Daha Hızlı Firefox: Swiftfox ve Swiftweasel
- Dstat ile Efektif Sistem Monitoring
- Fusion-io ile Yüksek I/O Kapasitesi

Yorumlar


Trackbacks

Yorumda bulunun.