Selamlar,
Bugün özellikle geçmiş günahlarımdan biri olan performans analizleri konusunda yazacağım. Uzun bir süredir performans analizleri / iyileştirmeleri uğraşıyorum. Bu çalışmalar sırasında pek çok ürünle çalışma fırsatı buldum, bunlar arasında JMeter, IBM RPT, Microfocus (HP) Load Runner bunlardan bazıları. Bu ürünler kendi alanlarında oldukça iyi. JMeter herhangi bir “recording tool” u olmadığı için el ile çok işlem gerektiriyor ama aralarındaki en iyi de o açıkçası.
Fakat bu yazımda ben mzbench’den bahsedeceğim. Oldukça iyi ve tamamlanmış bir ürün. Hali hazırda 10k kullanıcıyı simule etmek için aktif halde kullanıyorum. Kullanmak için kesinlikle development yetenekleri gerekiyor (özellikle erlang). Hatta eğer development yeteneğiniz var ise JMeter’dan da oldukça iyi bir ürün. Eğer development yeteneğiniz yok ise topluluk desteği güçlü olmadığı için JMeter ile başa baş olabilir.
Özellikle erlang’ın gücü ile 4 node ile 10k kullanıcı etkisi yaratılabiliyor. Diğer ürünler ile bu rakamlara ulaşmak neredeyse imkansız.
Node’lar için pek de CPU’ya ihtiyaç yok fakat memory ve network sistemlerinin özellikle iyi olması gerekiyor. Herhangi bir linux dağıtımı ile sorunsuz çalışıyor. Ben CentOs ile mzbench’in adresinde verilen talimatları takip ederek sorunsuz şekilde çalışıyorum.
Cloud üzerinde yaygınlaşması ise mzbench server’ın node’lara passwordless ssh ile bağlanmalarını sağladığınızda ortadan kalkıyor.
Kendi ölçüm değerlerinizi kod içerisinde kendiniz belirtiyorsunuz. Tüm çalışmalarınızı ve raporlarınızı kayıt altında tutuyor.
Kısaca giriş seviyesinde erlang bilgisi ile belki de en iyi performans analiz ürününe sahip oluyorsunuz.
Bu performans analizleri beraber, hedef sunucu üzerindeki değerleri “node exporter” veya benzeri bir ürün ile prometheus + grafana ya almanızla beraber “high level” performans analizleri için gerekli tüm elementlere sahip olabilirsiniz. Tek yapmanız gereken şey developer olmak..
Sevgiler.