jmeter ile uygulama katmanında yük testi gerçekleştirme
Post on 07-Sep-2015
24 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Jmeter ile Uygulama Katmannda Yk
Testi Gerekletirme
-
blog.btrisk.com @btrisk /btrisktv /btrisk
1
Temel Admlar Apache Jmeter Java tabanl, ortam bamsz statik ve dinamik kaynaklar test etmek iin
kullanlan bir yk testi aracdr. Apache Jmeter uygulamas ile gerekletirebileceiniz baz
sunucu veya protokol trleri aadaki gibidir:
Web - HTTP, HTTPS
FTP
SOAP
DBMS
LDAP
Mail - SMTP(S), POP3(S)ve IMAP(S)
MongoDB (NoSQL)
TCP
ncelikle makalemize giri yapmadan Jmeter.org adresinden yk testimiz iin gerekli olan Apache Jmeter uygulamasn indirilelim. ndirdiimiz apache-jmeter-2.12.zip ariv dosyasn klasre kartp, klasr ierisinde bulunan bin klasr ierisindeki ApacheJMeter.jar uygulamasn altralm.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
2
Web Sunucu Test Senaryosunun Hazrlanmas
Web sunucu test senaryosunu hazrlamak iin birden fazla farkl yntem bulunmaktadr. Bu
makalemizde en temel admlardan balayacaz ve sonraki admlarda yeri geldike dier
yntemlerden bahsedeceiz.
Bir web sunucusunu uygulama katmannda yke kar dayankln test etmek iin, ncelikli olarak kullanc saysn belirlememiz gerekmektedir.
Test Plana farenin sa tk butonuna basarak Add mensnden Thread (Users)
ksmndan, Thread Groupu seelim.
Eklemi olduumuz Thread Groupa ilikin ekran grnts aadaki gibidir:
Thread Group ierisinde yer alan alan baz parametre alanlarna gz atalm, Name:Thread Groupu adlandrmak iin kullanlr. Action to be taken a Sampler error: Test yapldnda hata durumundaki davrann ifade eder.
"Continue" - Hata oluursa bile test etmeye devam et
Start Next Thread Loop Hata alndnda bir sonraki dizi dngsne ge
"Stop Thread" letim diziyi durdur
"Stop Test" - Testi durdur
-
blog.btrisk.com @btrisk /btrisktv /btrisk
3
Number of Threads (users): Oluturulacak sanal kullanc (virtul user(s) veya concurrent user(s) deeri bu alana girilir. Ram-up period (in seconds): Number of Threads ksmnda belirlenen kullanc saysna ka saniye eriilmek isteniyorsa buraya o deer yazlr. Loop Count: Testin ka defa tekrarlanaca bu alanda belirlenir. Frover seenei seilirse kullanc tarafndan test durdurulana kadar yk testi devam edecektir. Scheduler: Testin belirtilen zaman aralnda gerekletirilmesini salar.
HTTP sayfa yk testi iin ayarlar konfigre etmek iin Thread Groupa farenin sa
tuuna basarak Add mensnden, Config Element ksmndan HTTP Request
Defaultsu seelim.
Server Name or IP: Bu alana test yapmak istediimiz Http sunucusu alan (domain) adn veya IP adres deerini yazalm. Port Number: Bu alana Http sunucuna balanlmak istenen port numarasn yazalm. Timeouts: Connect (Balant) ve Respons (Yant) alanlarna mili saniye cinsinden deerler girerek zaman am deerlerini tanmlayabilirsiniz.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
4
Path: Http sunucusu dizininde yer alan yol (iz) bilgisini tanm yaplabilinir.
blog.btrisk.com sitesi iin aadaki gibi parametre tanmlar yaplmtr.
HTTP isteini (HTTP Request) Thread Groupa farenin sa tuuna basarak Add
mensnden, Sampler ksmnda HTTP Request i aadaki gibi ekleyebiliriz.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
5
Karmza kan HTTP Request sayfas aadaki gibidir.
rnek olarak blog.btrisk.com sitesine ynelik yk testi iin HTTP Request ierisinde
yer alan ilgili parametreleri aadaki gibi dzenleyelim.
Path alan yukarda da grlecei zere ana sayfaya giri olduu iin / deeri girilmitir.
Ayrca Blog.btrisk.com sitesinde yer alan dier bir sayfaya yaplacak istek iinde yeni
bir HTTP Request ekleyip ierisindeki parametre alanlarna aadaki gibi bilgiler
girilmitir.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
6
Yaplan isteklere karlk alnan yant srelerine ilikin deerleri grafiksel olarak
grntleyebilmek iin Thread Groupa farenin sa tuuna basarak Add
mensnden, Listener ksmndan Response Time Graph seelim.
Bu admda Thread Group sayfasndan kullanc saysn, belirlenen kullanc saysna
ka saniyede ulaacan ve testin ka defa tekrar edileceini belirleyelim.
Son adm olarak Run mensnden Start veya Crtl+R tu kombinasyonunu
kullanarak yk testini balatalm.
Test baladnda Test sresince sa st kede yeil kare yanacak ve kullanc says tanmlanan deere kadar artacaktr.
Test bitiminde veya test devam ederken Response Time Graph seip Graph
sekmesinden yant srelerinin deiimini gzlemleyebiliriz.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
7
-
blog.btrisk.com @btrisk /btrisktv /btrisk
8
Gelimi Seeneklerin Kullanm
Bu admda Http ve Https temelli senaryolarmz daha kolay bir ekilde oluturmay ve
Jmeter-Plugin eklentisi ile daha fazla grafik elde ederek yk testi analizlerimizin daha anlaml
ve anlalr olmasn salayacaz.
Makalemize balamadan nce Jmeter-Plugin.org sayfasndan Extras Set eklentisini indirelim.
ndirdiimiz Extras Set ariv dosyasn bir klasre karp ierisindeki dosyalar Apache-
Jmeter ana dizine kopyalayp, var olan dosyalar yenileri ile deitirilmesine izin verelim.
Yukardaki anlatlan ilemleri doru bir ekilde gerekletirdiinizde Apache-Jmeter/bin dizini
ierisinde yer alan ApacheJMeter.jar uygulamasn altrdnzda aadaki gibi deiikler
olduunu greceksiniz.
rnein Listener sekmesine tkadnzda seeneklerin aadaki gibi art grlmekte.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
9
HTTP(S) Test Script Recorder ile Yk(Stres) Testi Senaryosunun
Hazrlanmas
Apache-Jmeter uygulamasnn bulunduu klasr ierisinden ApacheJmeter.jar
uygulamasn altralm.
Test Plana sa tklayp Add sekmesinden Thread (user) alanndan Thread Group
bileenini seelim.
Thread Group ierisinde yer alan daha nce temel admlarda deindiimiz parametreler alanlarn yk testimizin ihtiyalar dorultusunda dzenleyelim
rnein biz yk testimizi 100 sanal kullancya 10 saniyede ulaabilecek ve senaryoyu 4 defa tekrarlayacak ekilde dzenleyelim.
Thread Group bileenine sa tklayp Add sekmesinden Logic Controller ierisinden
Recording Controller seelim. Recorder Controller bileenini kullanmamzn amac,
yapacamz istekleri bu bileen aracl ile test senaryosu ierisine kayt etmek.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
10
Thread Group bileine sa tklayp Add sekmesinden Timer ierisinden Constant
Timer seelim.
Constant Timer bileeni ile yaplan her bir istek arasndaki bekleme sresini belirleyebiliriz. Bu test senaryosu iin yaplan istekler arasndaki bekleme sresi 300 mili saniye olarak belirlenmitir.
WorkBenche sa tklayp Non-Test Elements sekmesinden HTTP(S) Test Script
Recorder bileenini seelim.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
11
HTTP(S) Test Script Recorder bileeni bizlere tanmlayacamz proxy aracl ile herhangi bir internet taraycs ile gerekletriceimiz istekleri, Thread Group altnda yer alan Recoring Controller bileeni ierisine eklenmesini salayacaktr.
HTTP(S) Test Script Recorder zerinde yer alan Global Settings alanndaki Port numarasn proxy aracal ile dinlemek istediimiz Port numarasn yazalm ve Test plan content altnda yer alan Target Controller alanndan yk testi senaryomuzu oluturacamz Recoring Controllern adn aadaki gibi seelim.
Bunlara ek olarak test senaryonuz ierisinde olmasn istemediiniz, sayfalar ierisinde yer alan uzantlar URL Patterns to Exclude alanndan belirleye bilirsiniz.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
12
Taraycmzn Ayarlar ksmndan Balant ayarlarndan yukarda tanmladmz port
numarasn 8080 ve domain balna localhost veya 127.0.0.1 yazalm.
Yukar anlatlan btn ayarlar yapldk sonra WorkBenchin altnda yer alan HTTP(S)
Test Script Recorder seilip Start butonu tklanp proxy ayarlar yaplm tarayc
zerinden yk testi yapacamz ilgili web sayfasnn test senaryosu kapsamnda ilgili
-
blog.btrisk.com @btrisk /btrisktv /btrisk
13
alanlarnda gezinerek test senaryosunu oluturalm.
Kontrol Notu: Test senaryosunun kayt edildiinden emin olabilmek iin Test Plann
altnda yer alan Thread Groupun altndaki Recording Controller sekmesi geniletelim
ve gezilen sayfalara ait ilgili linklere gz atalm.
Gelimi seeneklerinin kullanm admnda bahsediimiz Jmeter-Plugin eklentisi ile
gelen grafiklerin ne anlama geldiine ksaca gz atalm.
Therad Group sa tklayp Add Listener sekmesinden aada kullanm amalar yer alan baz bileenleri ekleyelim;
Response Codes per Second: Yaptmz isteklere karlk gelen yant balndaki
mesajlarn istatistiksel dalmn grafiksel olarak gsterir.
Response Latencies Over Time: Yaplan isteklere karlk alnan yantlarn gecikme
(Latencies) deerlerinin istatistiksel dalmn grafiksel olarak gsterir.
Response Times vs Threads: Yaptmz isteklere karlk gelen yantlarn sresini ve o
andaki kullanc saysnn istatistiksel dalmn grafiksel olarak gsterir.
Hits per Second: Bir saniyede iletilen istek saysnn istatistiksel dalmn grafiksel
olarak gsterir.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
14
Son adm olarak testimizi Ctrl + R veya Run sekmesinde Start butonuna basarak
balatalm.
rnek grafik ktlar aadaki gibidir:
Response Codes per Second
-
blog.btrisk.com @btrisk /btrisktv /btrisk
15
Response Latencies Over Time
Response Times vs Threads
-
blog.btrisk.com @btrisk /btrisktv /btrisk
16
Hits per Second
-
blog.btrisk.com @btrisk /btrisktv /btrisk
17
HTTPS steklerinin Proxyden Geirilmesi
Jmeter fonksiyonaliteleri ierisinde yer alan HTTP(S) Test Script Recorder kullanarak 443
portundan yayn yapan yani HTTPS ile iletiim kuran sayfalar proxyden geirmek iin Jmeter
sertifikasn yklemeniz gerekmetedir.
Apache-Jmeter Sertifikasnn Web Taraycsna Yklenmesi
Apache-Jmeter sertifikasn taraycmza yklemek iin aadaki admlar uygulayalm:
ncelikle ApaceheJmeter.jar uygulamasn aalm ve WorkBenche sa tklayp Add->Non-
Test Elements->HTTP(S) Test Script Recorder ekleyelim.
HTTP(S) Test Script Recorder zerinde yer alan Start butonu tklayalm ve karmza kan
uyarda OK butonuna basalm,
-
blog.btrisk.com @btrisk /btrisktv /btrisk
18
Oluturulan sertifikay Mozilla taraycya yklenmesi:
Taraycmzn Aralar sekmesinde Seenekler->Gelimi->Sertifikalar
blmnden Sertifikalar Gster butonuna tklayalm ve Yetkili sekmesine
tklayalm.
Onay belgesi yneticisinden e aktar butonuna tklayarak ApacheJmeterin kurulu
olduu dizin ierisindeki bin klasrnn yolu gsterelim.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
19
ApacheJMeterTemporaryRootCA.crt dosyasn seip ykleyelim.
Tm alanlar yukardaki gibi kutucuklar iaretleyip onaylayalm. Artk HTTPS istekleri
HTTP(S) Test Script Recorder bileeni aracl ile kaydedebilirsiniz.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
20
Komut Satrnda Yk Testi Gerekletirme
Lokalde yaplacak yk (rnein 1000 ve zeri sanal kullanc ile) testinde performans
probleminin nne gemek iin Jmeter, komut satrnda parametrelerle altrlmal. Birden
fazla eklenen grafik bileenleri yksek kullanc saysnda arayz kullanlarak yaplan
testlerde, yk testinin gerekletrildii sunucuda bellek ve ilemci kullanmn byk oranda
artrmaktadr.
Jmeter arayz modunda istenilen test senaryosu ve grafikler ekledikten sonra yk testini
balatmak yerine File sekmesinden Save Test Plan seeneini kullanarak test senaryosunu
Apache-Jmeter uygulamasnn bulunduu dizindeki bin dosyas ierisine kaydedelim.
Ayrca Apache-JMetern kullanaca Ram miktarn aadaki gibi konfigre edelim:
Apache-Jmeter dizininde Bin klasrnn altnda yer alan jmeter.bat dosyasna sa tklayp
birlikte a seeneini kullanarak ile notpad uygulamasyla aalm.
Alan sayfada set HEAP parametresini bulalm ve parametre ierisinde yer alan megabyte
cinsindeki bellek miktarn deitirelim.
rnein: set HEAP=-Xms1024m Xmx1024m
Yukarda anlatlan ilgili konfigrasyonlar yaptktan sonra komut satrndan Apache-Jmeter
dizini ierisindeki bin klasrne ulaalm.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
21
Komut satrna jmeter -t TestPlan.jmx -n -l c:\Test_Plan_Data.csv yazalm.
.jmx uzantl dosyada test senaryosu yer almaktadr, c dizini altnda
oluacak Test_Plan_Data.csv dosyasna ise test sonular yazlacaktr.
.csv uzantl dosya ierisindeki verileri ilemek iin test bittikten sonra Apache-Jmeter
uygulamas ile oluturduumuz test senaryosunu ap ilgili grafik bileenlerine aarak
Browse seeneindenTest_Plan_Data.csv dosyasnn bulunduu yeri gsterelim.
-
blog.btrisk.com @btrisk /btrisktv /btrisk
22
Hakkmzda
2009 ylnda kurulmu ve sadece bilgi gvenlii hizmetlerine odaklanm olan BTRisk Bilgi
Gvenlii ve BT Ynetiim Hizmetleri bilgi gvenlii problemine ynetim kurulu seviyesinden
sistem odas uygulamasna kadar uzanan alanda zm retmektedir.
BTRisk bilgi gvenlii problemini grnr hale getirerek alglanmasn, anlalmasn ve
dolaysyla ele alnmasn mmkn hale getirmektedir.
BTRisk bilgi gvenlii problemine kar gelitirdii yaklamlar gerek hayat koullarnda test
etmi ve uygulanabilir hale getirmitir.
Bilgi gvenlii ve BT ynetiim hizmet alanlarmz aadaki gibidir:
Pentest Hizmetleri
Bilgi Gvenlii ve BT Ynetiim Hizmetleri
Bilgi Gvenlii Operasyon Hizmetleri
Teknik Gvenlik Denetim Eitimleri
Ynetiim ve Denetim Eitimleri
zgn rnlerimiz aadaki gibidir:
5651 Uyumlu Wi-Fi ve Kablolu Bilgi Gvenlii Risk Analizi Tek Kullanmlk Parola
A Hotspot zm ve Denetim Uygulamas zm
Jmeter ile Uygulama Katmannda Yk Testi GerekletirmeTemel AdmlarWeb Sunucu Test Senaryosunun Hazrlanmas Web sunucu test senaryosunu hazrlamak iin birden fazla farkl yntem bulunmaktadr. Bu makalemizde en temel admlardan balayacaz ve sonraki admlarda yeri geldike dier yntemlerden bahsedeceiz.
Gelimi Seeneklerin KullanmHTTP(S) Test Script Recorder ile Yk(Stres) Testi Senaryosunun Hazrlanmas
HTTPS steklerinin Proxyden GeirilmesiApache-Jmeter Sertifikasnn Web Taraycsna Yklenmesi
Komut Satrnda Yk Testi Gerekletirme
Hakkmzda
top related