13 Aralık 2015

Jmeter ile Sunucu Performansının Ölçülmesi

Daha önceki makalelerimizde Apache-Jmeter uygulmasını kullanarak nasıl yük testi gerçekleştirebileceğimizden bahsetmiştik. Bu makalemizde ise Apache-Jmeter eklentilerinin bize sunduğu imkanlar dahilinde yük testine tabi tutuğumuz sunucunumuzun performans bilgilerini anlık olarak nasıl izleyebileceğimizden bahsedeceğiz.



Apache-Jmeter indirme sayfasından Apache-Jmeter uygulamasının en son versiyonun indirelim.

Jmeter eklentilerinin yer aldığı jmeter-plugins.org sayfasından Standard Set eklentisini indirelim ve Apache-Jmeter uygulamamızı çıkartığımız dizinin içersine Standard Set eklentisi ile beraber gelen dosyaları kopyalayıp, var olan dosyaları yenileri ile değiştirilmesine izin verelim.(Apache-Jmeter eklenti kurulumu ile ilgili daha detaylı anlatım için tıklayınız.)

Apache-Jmeter uygulamamızın kurulu olduğu dizinde ApacheJMeter.jar uygulamasını açalım ve Test Plan bileşenine sağ tıkladığımızda Add Listener  sekemesinde “jp@gc - PerfMon Metrics Collector “ bileşenin aşağıdaki gibi görüntüleyebildiğimizden emin olalım.

Perfmon Metrics Collector


Jmeter-Plugins Standart Set eklentisi ile gelen PerfMon Metrics Collector bileşenini kullanarak sunucu üzerinden aşağıdaki performans bilgilerini toplayabiliriz:
  • CPU
  • Memory
  • Swap
  • Disks I/O
  • Network I/O
  • TCP
Yukarıda yer alan bilgileri toplayabilmemiz için sunucu tarafında Jmeter-Plugins.org web safasında yer alan ServerAgent uygulamasını indirmemiz gerekmetedir.  İndirdiğimiz dosyayı arşivden çıkarıp, startAgent.bat’ı yönetici olarak sunucu üzerinde çalıştıralım. startAgent.bat’ı çalıştırarak sunucumuz üzerinde varsayılan olarak TCP ve UDP 4444 portunu Apache-Jmeter uygulamamızın sunucu performans bilgilerini toplaması için aktif etmiş olduk.

startAgent.bat’ı herhangi bir başka port’da çalıştırmak isterseniz komut satırına startAgent.bat –tcp-port  ‘port numarası’ –udp-port ‘port numarası’ yazarak çalıştırabilirsiniz.

Serveragent.bat port konfigürasyonu


Sunucu tarafıdaki ayarları yaptıktan sonra istemci tarafında ApacheJmeter.jar uygulmasına açarak, Test Plan bileşinine sağ tıklayıp Add Threads (Users)  sekemesinden “Thread Group “ bileşinini ekleyelim.

Apache-Jmeter Kullanımı


Sunucu perfomansını 10 dk süre içerisinde ölçmek için Ramp-Up Period alanına 1200 yazıp, Number of Threads kısmınada 2 yazalım. (1200 saniye / 2 = 600 saniye = 10 dk)

Test Plan bileşinine sağ tıklayıp Add Listener  sekemesinde “jp@gc - PerfMon Metrics Collector “ bileşenini seçelim. Bu bileşen üzerinde yer alan Add Row sekmesine tıklayarak Host/IP kısmından sunucumuzun alan adını veya IP adresini yazalım. Port alanına ise sunucu üzerinde çalıştırdığımız serverAgent.bat üzerinde tanımladığımız veya varsayılan olarak kullandığımız port bilgisini yazalım.

Metric to collect listesinden ise ölçmek istediğimiz sunucu performans bilgilerini seçebiliriz. Copy Row butonunu kullanarak birden fazla performans bilgisi ekleyebilirsiniz.

PerfMon Metrics Collector ile sunucu CPU,bellek,disk ve network kullanım bilgilerini toplama


CPU tüketim grafiği:

Örnek Sunucu CPU tüketim grafiği


Bellek kullanımı grafiği:

Sunucu bellek kullanım grafik örneği