Postal: Smtp Performance Benchmark
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 benchmark işlemlerinin yapılmasından bahsedeceğim. Siz de posta sunucularınızın performanslarını ölçmek istiyorsanız işinize yarayacaktır.
Dstat ile Efektif Sistem Monitoring
Linux ve Unix OS’lerde, sistem kaynaklarının durumunu izlemek ve raporlamak için kullanılabilecek bir çok native ya da üçüncü parti araç bulunuyor. Örneğin memory durumu için vmstat, disk üzerindeki yükü izlemek için iostat, network aktivitesi için ifstat vs. gibi yazılımlar kullanıyoruz. Örnekleri çoğaltmak mümkün. Çünkü Nix ortamlarında her kaynağı monitor etmek için birden fazla kullaışlı araç bulunuyor.
Fakat, sisteminizde bir sorun olduğu zaman bahsi geçen monitoring araçlarını tek tek çalıştırmalı ve tek tek analiz yapmak durumundasınız. Bu yazının konusu olan dstat isimli tool ise sistem kaynaklarının tek bir ekrandan izlenebilmesi ve analiz edilebilmesi için geliştirilmiş güzel bir araçtır. Bu yazıda, hemen tüm Linux dağıtımları altında çalışan dstat’tın kurulumu ve kullanımından biraz bahsetmek istiyorum.
Daha Hızlı Firefox: Swiftfox ve Swiftweasel
Masaüstü bilgisayarınızda bir Linux sürümü yüklüyse ve firefox ile özellikle yoğun flash içeren sitelerde gezinirken CPU kullanımınızın epey arttığını ve bu nedenle de sistemde yavaşlamalar meydana geldiğini gözlemliyorsanız yalnız değilsiniz! Ben de masaüstünde Ubuntu kullanan biri olarak aynı sorunları yaşamaktaydım ancak kullandığım işlemciye (AMD Athlon(tm) 64 Processor 3200+) uygun olarak optimize edilmiş firefox sürümü olan swifteweasel kurarak bu sorunu önemli ölçüde giderebildim. |
Aslında bahsettiğim bu sorunu tamamen Firefox’a atfetmek de yanlış zira durumun sorumlularından birisi de adobe flash playerdir. Her neyse, siz de benzer sorunu yaşıyorsanız ve henüz bir çözüm bulamadıysanız işte bir iki öneri.
Apache Mod_Status Yapilandirmasi
Apache sunucunuzun performans değerlerini gözlemlemek için komut satırında kullanılabilecek bir çok native araç bulunuyor olsa da bazen sunucunun performans değerlerini, sunucuya login olmadan incelemek isteyebilirsiniz. Böyle bir iş için kullanılabilecek en güzel yöntem, apache ile birlikte default olarak gelen mod_status modülünden yararlanmak ve sunucu istatistiklarini bir web sayfası üzerinden görüntülemektir. Her nekadar mod_status apache ile birlikte öntanımlı olarak geliyor olsa da bu özelliği devreye almak için httpd.conf yapılandırma dosyasına küçük bir ekleme yapmak gerekiyor. |
Bu dökümanda, mod_status’ün nasıl devreye alınacağı anlatılmaktadır.
Mod_Status ile apache sunucunuzla ilgili performansa yönelik aşağıdaki bilgileri gerçek zamanlı olarak edinebilirsiniz.
noatime – Disk I/O Optimizasyonu
Eğer üzerinde yoğun disk işlemi bulunduğundan ve bu yüksek I/O nedeni ile performans sorunları yaşadığınız bir *nix tabanlı sunucunuz varsa, disk optimizasyonu yaparak I/O’dan tasarruf etmek için yapabileceğiniz şeylerin başında disklerinizi sisteme noatime seçeneği ile mount etmektir.
Noatime Ne İşe Yarar?
Bilindiği gibi *nix tabanlı işletim sistemleri file system’da bulunan her bir dosya için ctime,mtime ve atime olmak üzere 3 adet tarih bilgisi tutarlar. ctime dosyanın oluşturulma tarihini, mtime dosyanın değiştirilme tarihini ve son olarak atime ise dosyaya en son erişimin yapıldığı tarihi belirtir.
Fusion-io ile Yüksek I/O Kapasitesi
Yüksel kapasiteli sunucular için en büyük sorunun disk I/O olduğunu söylersem zannedersem abartmış olmam. Gerçekten de bugüne kadar yüksek işlem hacmi olan sunucularda karşılaştığım darboğazların nedeni hemen herseferinde disklerin yoğun kullanım sırasında, yazma ve okuma işlemlerine yeterince süratli bir şekilde cevap veremiyor olmasından kaynaklanmıştır. Herhangi bir sistemle ilgili yaşanan sorun, disk I/O yetersizliğinden kaynaklandığı zaman yapabileceğiniz yegane şey yeni diskler alarak, disk kümenize (örneğin raid10’a) dahil etmek ve I/O kapasitesini belli oranda yukarıya çekmektir. Elbette alınacak disklerin maliyeti ve bu işlem sırasında oluşabilecek herhangi veri kaybı riski göz önüne alındığı zaman sorunu çözmek için epey terlemeniz gerektiğini kabul etmemiz gerekiyor. |
Yüksek işlem hacminin varolduğu hemen her alanda I/O sıkıntısının yaşanıyor olması harddisk teknolojisinin, diğer konularda yaşanan oranlarda gelişim kaydedemiyor oluşundan kaynaklanıyor. Harddisk’lerin halen mekanik cihazlar olması ve rpm hızlarının yetersiz kalışı bu konudaki sıkıntılara neden oluyor.
Yazinin devami icin tiklayin.
Memcachedb
Memcached, yüksek performans sağlamaya yönelik olarak geliştirilen ve şu an betası bulunan "Distributed key-value storage system designed for persistent" denilen güzel bir uygulama.
Döküman olması açısından, detaylı bilgi ve güzel bir sunumuna aşağıdaki linklerden erişebilirsiniz.
http://memcachedb.org/
http://memcachedb.org/memcachedb-guide-1.0.pdf
Henüz uygulama şansım olmadı ama belki bir gün deneme fırsatım olursa detaylı Türkçe bir döküman hazırlarım elbet.