JMeter
06 Mayıs 2009 Çarşamba
Apache JMeter
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:
-
HTTP, FTP ve veri tabanı sunucuları
(JDBC kullanarak) üzerine ağır yük (heavy
load) ve performans (performance) testleri yürütebilir
-
100% Java dilinde yazılmış olduğundan
platformdan bağımsız, taşınabilir
- Swing package’i
kullanıyor (derlenmiş JAR javax.swing.* package’leri
içeriyor)
-
Çok dizililiği (multithreading) kullandığından,
koşut olarak birkaç işlev yapılabilir, çok
kullanıcılı bir ortamı simule edebilir.
-
Kullanıcı arayüzü (GUI) kullanışlı
olup, daha hızlı işlemekte ve daha doğru
zamanlamayı (precise timing) sağlıyor.
-
Önbelleğe almayı (caching) kullanıp,
sonuçları çevrim dışı (offline)
olarak görme/analize etmeye olanak sağlıyor.
-
Genişleyebilir (Highly Extensible)
*
Takılabilir örnekleyiciler (pluggable samplers)
ile sonsuz test olanakları sağlıyor
*
Takılabilir Zamanlayıcılar (pluggable timers)
ile birkaç yük istatistiği (load statistics)
seçilebilir
*
Veri analizi ve görselleştirme takılabilirler
(visualization plugin) ile genişleyebilirliği
(extendibility) ve kişiselleştirmeyi (personalization)
sağlamakta
*
İşlevler (JavaScript’i içermekte) bir test
için devingen (dynamic) girdi oluşturmakta
kullanılabilir
*
Yazılı yönergeli örnekleyiciler (scriptable
samplers)
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.
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
Yayınlayan: http://volkanaltan.blogspot.com/