6 Mayıs 2009 Çarşamba

JMeter


Apache JMeter







  1. Giriş




Apache JMeter Java
dilinde yazılmış bir uygulamadır.. Öncellikle
Web için tasarlanan bir test aracı olup, sonradan başka
test alanlarında da kullanılmıştır.



Apache
JMeter hem statik hem de dinamik kaynakları test etmek için
kullanılabilir. Örnek: Servlet, Perl script, Java nesnesi
(Java Object), veri tabanı sunucusu (DBMS),
FTP sunucusu v.b.



Bir
sunucu üzerinde birden fazla bağlantı açıp
aynı zamanda birçok bağlantı yapılıyormuş
gibi gösterebilmektedir. Bu sonuçları analiz etmek
içinde grafiksel raporlama imkanları
vardır.

Apache JMeter aşağıdaki
özellikleri taşır:




  1. -
    HTTP, FTP ve veri tabanı sunucuları
    (JDBC kullanarak) üzerine ağır yük (heavy
    load
    ) ve performans (performance) testleri yürütebilir



  2. -
    100% Java dilinde yazılmış olduğundan
    platformdan bağımsız, taşınabilir



  3. - Swing package’i
    kullanıyor (derlenmiş JAR javax.swing.* package’leri
    içeriyor)



  4. -
    Çok dizililiği (multithreading) kullandığından,
    koşut olarak birkaç işlev yapılabilir, çok
    kullanıcılı bir ortamı simule edebilir.



  5. -
    Kullanıcı arayüzü (GUI) kullanışlı
    olup, daha hızlı işlemekte ve daha doğru
    zamanlamayı (precise timing) sağlıyor.



  6. -
    Önbelleğe almayı (caching) kullanıp,
    sonuçları çevrim dışı (offline)
    olarak görme/analize etmeye olanak sağlıyor.



  7. -
    Genişleyebilir (Highly Extensible)






    1. *
      Takılabilir örnekleyiciler (pluggable samplers)
      ile sonsuz test olanakları sağlıyor



    2. *
      Takılabilir Zamanlayıcılar (pluggable timers)
      ile birkaç yük istatistiği (load statistics)
      seçilebilir



    3. *
      Veri analizi ve görselleştirme takılabilirler
      (visualization plugin) ile genişleyebilirliği
      (extendibility) ve kişiselleştirmeyi (personalization)
      sağlamakta



    4. *
      İşlevler (JavaScript’i içermekte) bir test
      için devingen (dynamic) girdi oluşturmakta
      kullanılabilir



    5. *
      Yazılı yönergeli örnekleyiciler (scriptable
      samplers
      )













  1. JMeter’i
    Çalıştırma

    JMeter’i kullanmak
    için
    http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
    adresinden son sürümüni indirmeliyiz. İndirdiğimiz
    dosyanın içinde “bin” klasöründe
    jmeterw.cmd (Windows için) veya jmeter (Linux için)
    çalıştırmalıyız.


  2. JMeter’in
    Kullanımı

    a. HTTP Çalışması



JMeteri
çalıştırmak için bir çalışma
planımızı “Thread Group” a ekliyoruz













Yukarda
ki ayarları istediğimiz şekilde değiştiriyoruz.


(Kullanıcı
sayısı , kaç kez tekrarlanacağı)
Number
Of Thread (users) :







Thread imize sağ
tıklayıp Add / Config Element /
HTTP Request Defaults
ekliyoruz.












Şimdi
Add / Sampler / HTTP Request’ten
HTTP isteklerimizi eklemeliyiz.







Burada
gerekli ayarları yapıyoruz.
HTTP Request Defaults ‘a
server bilgilerini girdiğsek buraya girmemize gerek yok.
(
post ve get için değişkenler girilebiliyor)





Raporlama
için Add / Listener/ View
Results Tree
(işlemleri
adım adım görmek için)









Sonuçları
gördüğümüz ekran;



























HTTP
Proxy Kullanımı


Thread
Group ekliyoruz. İçine HTTP Request Defaults.


WorkBench
e sağ tıklayıp Add / Non-Test Elements /HTTP Proxy
Server



















































Kabul
edilecek dosyalar



Kabul
edilmeyecekler







Tarayıcı
ayarları;










Bu
işlem sonrasında gezdiğimiz sayfalar JMeter tarafından
kayıt altına alınacaktır.






b.
Veritabanı Çalışması


JDBC
(
Java Database Connectivity )
kullanabilmek için
http://dev.mysql.com/downloads/connector/j/5.1.html


Sitesinden
connectoru indirip JMeter’in bulunduğu dizinde lib/ext
içine atıyoruz. Programı yeniden başlatınca
artık JDBC kullanılabilir.


Çalışmamıza
Thread ekliyoruz. Ardından buna sağ tıklayıp
Add
/ Sampler /
JDBC
Connection Configuration
ekliyoruz.


MySQL
için örnek bir bağlantı;







Ayarları
;


Variable
Name : MySQL


Database
URL :
jdbc:mysql://volkanmysql:3306/db


JDBC
Driver class :
com.mysql.jdbc.Driver


Username:
dbusername


Password:
dbpassword
Diğer veritabanları için bağlantı
örnekleri;


MySQL
com.mysql.jdbc.Driver jdbc:mysql://host[:port]/dbname PostgreSQL
org.postgresql.Driver jdbc:postgresql:{dbname} Oracle
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:user/pass@//host:port/service Ingres (2006)
ingres.jdbc.IngresDriver jdbc:ingres://host:port/db[;attr=value] SQL
Server (MS JDBC driver) com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://host:port;DatabaseName=dbname
Apache Derby
org.apache.derby.jdbc.ClientDriver
jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;...]]



http://jakarta.apache.org/jmeter/usermanual/component_reference.html#JDBC_Connection_Configuration






Sorgularımızı
yollamak icin ;


Add
/ Sampler /
JDBC
RequestVariable Name
yazan
yere JDBC Connection Configuration da yazdığımızın
aynısını yazıyoruz.













MSSQL
için;


Open
Source olan jtds connectörünü indirebilirsiniz.
http://jtds.sourceforge.net/


Driver
Class:
net.sourceforge.jtds.jdbc.Driver


Veya


http://www.microsoft.com/downloads/details.aspx?familyid=f914793a-6fb4-475f-9537-b8fcb776befd&displaylang=en


Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver










Kaynaklar


http://jakarta.apache.org/jmeter/usermanual/index.html


http://www.bilgidata.com




            Yayınlayan: http://volkanaltan.blogspot.com/


Hiç yorum yok: