SlideShare a Scribd company logo
1 of 23
Download to read offline
Jmeter ile Uygulama Katmanında Yük
Testi Gerçekleştirme
blog.btrisk.com @btrisk /btrisktv /btrisk
1
Temel Adımlar
Apache Jmeter Java tabanlı, ortam bağımsız statik ve dinamik kaynakları test etmek için
kullanılan bir yük testi aracıdır. Apache Jmeter uygulaması ile gerçekleştirebileceğiniz bazı
sunucu veya protokol türleri aşağıdaki 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 yük testimiz için gerekli olan
Apache Jmeter uygulamasını indirilelim. İndirdiğimiz “apache-jmeter-2.12.zip” arşiv
dosyasını klasöre çıkartıp, klasör içerisinde bulunan bin klasörü
içerisindeki ApacheJMeter.jar uygulamasını çalıştıralım.
blog.btrisk.com @btrisk /btrisktv /btrisk
2
Web Sunucu Test Senaryosunun Hazırlanması
Web sunucu test senaryosunu hazırlamak için birden fazla farklı yöntem bulunmaktadır. Bu
makalemizde en temel adımlardan başlayacağız ve sonraki adımlarda yeri geldikçe diğer
yöntemlerden bahsedeceğiz.
Bir web sunucusunu uygulama katmanında yüke karşı dayanıklığını test etmek için, öncelikli
olarak kullanıcı sayısını belirlememiz gerekmektedir.
 Test Plan’a farenin sağ tık butonuna basarak Add menüsünden Thread (Users)
kısmından, Thread Group’u seçelim.
Eklemiş olduğumuz Thread Group’a ilişkin ekran görüntüsü aşağıdaki gibidir:
Thread Group içerisinde yer alan alan bazı parametre alanlarına göz atalım,
Name:Thread Group’u adlandırmak için kullanılır.
Action to be taken a Sampler error: Test yapıldığında hata durumundaki davranışını ifade
eder.
 "Continue" - Hata oluşursa bile test etmeye devam et
 “Start Next Thread Loop” – Hata alındığında bir sonraki dizi döngüsüne geç
 "Stop Thread" – İşletim diziyi durdur
 "Stop Test" - Testi durdur
blog.btrisk.com @btrisk /btrisktv /btrisk
3
Number of Threads (users): Oluşturulacak sanal kullanıcı (virtul user(s) veya concurrent
user(s) değeri bu alana girilir.
Ram-up period (in seconds): Number of Threads kısmında belirlenen kullanıcı sayısına kaç
saniye erişilmek isteniyorsa buraya o değer yazılır.
Loop Count: Testin kaç defa tekrarlanacağı bu alanda belirlenir. “Frover” seçeneği seçilirse
kullanıcı tarafından test durdurulana kadar yük testi devam edecektir.
Scheduler: Testin belirtilen zaman aralığında gerçekleştirilmesini sağlar.
 HTTP sayfa yük testi için ayarları konfigüre etmek için Thread Group’a farenin sağ
tuşuna basarak Add menüsünden, Config Element kısmından HTTP Request
Defaults’u seçelim.
Server Name or IP: Bu alana test yapmak istediğimiz Http sunucusu alan (domain) adını veya
IP adres değerini yazalım.
Port Number: Bu alana Http sunucuna bağlanılmak istenen port numarasını yazalım.
Timeouts: Connect (Bağlantı) ve Respons (Yanıt) alanlarına mili saniye cinsinden değerler
girerek zaman aşımı değerlerini tanımlayabilirsiniz.
blog.btrisk.com @btrisk /btrisktv /btrisk
4
Path: Http sunucusu dizininde yer alan yol (iz) bilgisini tanımı yapılabilinir.
 blog.btrisk.com sitesi için aşağıdaki gibi parametre tanımları yapılmıştır.
 HTTP isteğini (HTTP Request) Thread Group’a farenin sağ tuşuna basarak Add
menüsünden, Sampler kısmında HTTP Request’ i aşağıdaki gibi ekleyebiliriz.
blog.btrisk.com @btrisk /btrisktv /btrisk
5
Karşımıza çıkan HTTP Request sayfası aşağıdaki gibidir.
 Örnek olarak blog.btrisk.com sitesine yönelik yük testi için HTTP Request içerisinde
yer alan ilgili parametreleri aşağıdaki gibi düzenleyelim.
Path alanı yukarıda da görüleceği üzere ana sayfaya giriş olduğu için “/” değeri girilmiştir.
 Ayrıca Blog.btrisk.com sitesinde yer alan diğer bir sayfaya yapılacak istek içinde yeni
bir HTTP Request ekleyip içerisindeki parametre alanlarına aşağıdaki gibi bilgiler
girilmiştir.
blog.btrisk.com @btrisk /btrisktv /btrisk
6
 Yapılan isteklere karşılık alınan yanıt sürelerine ilişkin değerleri grafiksel olarak
görüntüleyebilmek için Thread Group’a farenin sağ tuşuna basarak Add
menüsünden, Listener kısmından Response Time Graph’ı seçelim.
 Bu adımda Thread Group sayfasından kullanıcı sayısını, belirlenen kullanıcı sayısına
kaç saniyede ulaşacağını ve testin kaç defa tekrar edileceğini belirleyelim.
 Son adım olarak Run menüsünden Start veya Crtl+R tuş kombinasyonunu
kullanarak yük testini başlatalım.
Test başladığında Test süresince sağ üst köşede yeşil kare yanacak ve kullanıcı sayısı
tanımlanan değere kadar artacaktır.
 Test bitiminde veya test devam ederken Response Time Graph’ı seçip Graph
sekmesinden yanıt sürelerinin değişimini gözlemleyebiliriz.
blog.btrisk.com @btrisk /btrisktv /btrisk
7
blog.btrisk.com @btrisk /btrisktv /btrisk
8
Gelişmiş Seçeneklerin Kullanımı
Bu adımda Http ve Https temelli senaryolarımızı daha kolay bir şekilde oluşturmayı ve
Jmeter-Plugin eklentisi ile daha fazla grafik elde ederek yük testi analizlerimizin daha anlamlı
ve anlaşılır olmasını sağlayacağız.
Makalemize başlamadan önce Jmeter-Plugin.org sayfasından Extras Set eklentisini indirelim.
İndirdiğimiz Extras Set arşiv dosyasını bir klasöre çıkarıp içerisindeki dosyaları Apache-
Jmeter ana dizine kopyalayıp, var olan dosyaları yenileri ile değiştirilmesine izin verelim.
Yukarıdaki anlatılan işlemleri doğru bir şekilde gerçekleştirdiğinizde Apache-Jmeter/bin dizini
içerisinde yer alan ApacheJMeter.jar uygulamasını çalıştırdığınızda aşağıdaki gibi değişikler
olduğunu göreceksiniz.
Örneğin Listener sekmesine tıkadığınızda seçeneklerin aşağıdaki gibi artığı görülmekte.
blog.btrisk.com @btrisk /btrisktv /btrisk
9
HTTP(S) Test Script Recorder ile Yük(Stres) Testi Senaryosunun
Hazırlanması
 Apache-Jmeter uygulamasının bulunduğu klasör içerisinden ApacheJmeter.jar
uygulamasını çalıştıralım.
 Test Plan’a sağ tıklayıp Add sekmesinden Thread (user) alanından Thread Group
bileşenini seçelim.
 Thread Group içerisinde yer alan daha önce temel adımlarda değindiğimiz
parametreler alanlarını yük testimizin ihtiyaçları doğrultusunda düzenleyelim
Örneğin biz yük testimizi 100 sanal kullanıcıya 10 saniyede ulaşabilecek ve senaryoyu 4 defa
tekrarlayacak şekilde düzenleyelim.
 Thread Group bileşenine sağ tıklayıp Add sekmesinden Logic Controller içerisinden
Recording Controller’ı seçelim. Recorder Controller bileşenini kullanmamızın amacı,
yapacağımız istekleri bu bileşen aracılığı ile test senaryosu içerisine kayıt etmek.
blog.btrisk.com @btrisk /btrisktv /btrisk
10
 Thread Group bileşine sağ tıklayıp Add sekmesinden Timer içerisinden Constant
Timer’ ı seçelim.
Constant Timer bileşeni ile yapılan her bir istek arasındaki bekleme süresini belirleyebiliriz.
Bu test senaryosu için yapılan istekler arasındaki bekleme süresi 300 mili saniye olarak
belirlenmiştir.
 WorkBench’e sağ tıklayıp Non-Test Elements sekmesinden HTTP(S) Test Script
Recorder bileşenini seçelim.
blog.btrisk.com @btrisk /btrisktv /btrisk
11
HTTP(S) Test Script Recorder bileşeni bizlere tanımlayacağımız proxy aracılığı ile
herhangi bir internet tarayıcısı ile gerçekleştriceğimiz istekleri, Thread Group altında yer
alan Recoring Controller bileşeni içerisine eklenmesini sağlayacaktır.
HTTP(S) Test Script Recorder üzerinde yer alan Global Settings alanındaki Port numarasını
proxy aracalığı ile dinlemek istediğimiz Port numarasını yazalım ve Test plan content altında
yer alan Target Controller alanından yük testi senaryomuzu oluşturacağımız Recoring
Controller’ın adını aşağıdaki gibi seçelim.
Bunlara ek olarak test senaryonuz içerisinde olmasını istemediğiniz, sayfalar içerisinde yer
alan uzantıları URL Patterns to Exclude alanından belirleye bilirsiniz.
blog.btrisk.com @btrisk /btrisktv /btrisk
12
 Tarayıcımızın Ayarlar kısmından Bağlantı ayarlarından yukarıda tanımladığımız port
numarasını 8080 ve domain başlığına localhost veya 127.0.0.1 yazalım.
 Yukarı anlatılan bütün ayarlar yapıldık sonra WorkBench’in altında yer alan HTTP(S)
Test Script Recorder seçilip Start butonu tıklanıp proxy ayarları yapılmış tarayıcı
üzerinden yük testi yapacağımız ilgili web sayfasının test senaryosu kapsamında ilgili
blog.btrisk.com @btrisk /btrisktv /btrisk
13
alanlarında gezinerek test senaryosunu oluşturalım.
 Kontrol Notu: Test senaryosunun kayıt edildiğinden emin olabilmek için Test Plan’ın
altında yer alan Thread Group’un altındaki Recording Controller sekmesi genişletelim
ve gezilen sayfalara ait ilgili linklere göz atalım.
 Gelişmiş seçeneklerinin kullanımı adımında bahsediğimiz Jmeter-Plugin eklentisi ile
gelen grafiklerin ne anlama geldiğine kısaca göz atalım.
Therad Group’ sağ tıklayıp Add Listener sekmesinden aşağıda kullanım amaçları yer alan bazı
bileşenleri ekleyelim;
 Response Codes per Second: Yaptığımız isteklere karşılık gelen yanıt başlığındaki
mesajlarını istatistiksel dağılımını grafiksel olarak gösterir.
 Response Latencies Over Time: Yapılan isteklere karşılık alınan yanıtların gecikme
(Latencies) değerlerinin istatistiksel dağılımını grafiksel olarak gösterir.
 Response Times vs Threads: Yaptığımız isteklere karşılık gelen yanıtların süresini ve o
andaki kullanıcı sayısının istatistiksel dağılımını grafiksel olarak gösterir.
 Hits per Second: Bir saniyede iletilen istek sayısının istatistiksel dağılımını grafiksel
olarak gösterir.
blog.btrisk.com @btrisk /btrisktv /btrisk
14
 Son adım olarak testimizi Ctrl + R veya Run sekmesinde Start butonuna basarak
başlatalım.
Örnek grafik çıktıları aşağıdaki 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 Geçirilmesi
Jmeter fonksiyonaliteleri içerisinde yer alan HTTP(S) Test Script Recorder kullanarak 443
portundan yayın yapan yani HTTPS ile iletişim kuran sayfaları proxy’den geçirmek için Jmeter
sertifikasını yüklemeniz gerekmetedir.
Apache-Jmeter Sertifikasının Web Tarayıcısına Yüklenmesi
Apache-Jmeter sertifikasını tarayıcımıza yüklemek için aşağıdaki adımları uygulayalım:
Öncelikle ApaceheJmeter.jar uygulamasını açalım ve WorkBench’e sağ tıklayıp Add->Non-
Test Elements->HTTP(S) Test Script Recorder’ı ekleyelim.
HTTP(S) Test Script Recorder üzerinde yer alan Start butonu tıklayalım ve karşımıza çıkan
uyarıda OK butonuna basalım,
blog.btrisk.com @btrisk /btrisktv /btrisk
18
Oluşturulan sertifikayı Mozilla tarayıcıya yüklenmesi:
 Tarayıcımızın Araçlar sekmesinde Seçenekler->Gelişmiş->Sertifikalar
bölümünden Sertifikaları Göster butonuna tıklayalım ve Yetkili sekmesine
tıklayalım.
 Onay belgesi yöneticisinden İçe aktar butonuna tıklayarak ApacheJmeter’in kurulu
olduğu dizin içerisindeki bin klasörünün yolu gösterelim.
blog.btrisk.com @btrisk /btrisktv /btrisk
19
 ApacheJMeterTemporaryRootCA.crt dosyasını seçip yükleyelim.
 Tüm alanları yukarıdaki gibi kutucukları işaretleyip onaylayalım. Artık HTTPS istekleri
HTTP(S) Test Script Recorder bileşeni aracılığı ile kaydedebilirsiniz.
blog.btrisk.com @btrisk /btrisktv /btrisk
20
Komut Satırında Yük Testi Gerçekleştirme
Lokalde yapılacak yük (örneğin 1000 ve üzeri sanal kullanıcı ile) testinde performans
probleminin önüne geçmek için Jmeter, komut satırında parametrelerle çalıştırılmalı. Birden
fazla eklenen grafik bileşenleri yüksek kullanıcı sayısında arayüz kullanılarak yapılan
testlerde, yük testinin gerçekleştrildiği sunucuda bellek ve işlemci kullanımını büyük oranda
artırmaktadır.
Jmeter arayüz modunda istenilen test senaryosu ve grafikler ekledikten sonra yük testini
başlatmak yerine File sekmesinden Save Test Plan seçeneğini kullanarak test senaryosunu
Apache-Jmeter uygulamasının bulunduğu dizindeki bin dosyası içerisine kaydedelim.
Ayrıca Apache-JMeter’ın kullanacağı Ram miktarını aşağıdaki gibi konfigüre edelim:
Apache-Jmeter dizininde Bin klasörünün altında yer alan jmeter.bat dosyasına sağ tıklayıp
birlikte aç seçeneğini kullanarak ile notpad uygulamasıyla açalım.
Açılan sayfada “set HEAP” parametresini bulalım ve parametre içerisinde yer alan megabyte
cinsindeki bellek miktarını değiştirelim.
Örneğin: set HEAP=-Xms1024m –Xmx1024m
Yukarıda anlatılan ilgili konfigürasyonları yaptıktan sonra komut satırından Apache-Jmeter
dizini içerisindeki bin klasörüne ulaşalım.
blog.btrisk.com @btrisk /btrisktv /btrisk
21
Komut satırına jmeter -t TestPlan.jmx -n -l c:Test_Plan_Data.csv yazalım.
.jmx uzantılı dosyada test senaryosu yer almaktadır, c dizini altında
oluşacak Test_Plan_Data.csv dosyasına ise test sonuçları yazılacaktır.
.csv uzantılı dosya içerisindeki verileri işlemek için test bittikten sonra Apache-Jmeter
uygulaması ile oluşturduğumuz test senaryosunu açıp ilgili grafik bileşenlerine açarak
Browse seçeneğindenTest_Plan_Data.csv dosyasının bulunduğu yeri gösterelim.
blog.btrisk.com @btrisk /btrisktv /btrisk
22
Hakkımızda
2009 yılında kurulmuş ve sadece bilgi güvenliği hizmetlerine odaklanmış olan BTRisk Bilgi
Güvenliği ve BT Yönetişim Hizmetleri bilgi güvenliği problemine yönetim kurulu seviyesinden
sistem odası uygulamasına kadar uzanan alanda çözüm üretmektedir.
BTRisk bilgi güvenliği problemini görünür hale getirerek algılanmasını, anlaşılmasını ve
dolayısıyla ele alınmasını mümkün hale getirmektedir.
BTRisk bilgi güvenliği problemine karşı geliştirdiği yaklaşımları gerçek hayat koşullarında test
etmiş ve uygulanabilir hale getirmiştir.
Bilgi güvenliği ve BT yönetişim hizmet alanlarımız aşağıdaki gibidir:
 Pentest Hizmetleri
 Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 Bilgi Güvenliği Operasyon Hizmetleri
 Teknik Güvenlik Denetim Eğitimleri
 Yönetişim ve Denetim Eğitimleri
Özgün ürünlerimiz aşağıdaki gibidir:
5651 Uyumlu Wi-Fi ve Kablolu Bilgi Güvenliği Risk Analizi Tek Kullanımlık Parola
Ağ Hotspot Çözümü ve Denetim Uygulaması Çözümü

More Related Content

What's hot

Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharCross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharSandeep Kumbhar
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaBGA Cyber Security
 
Temel Kavramlar, DoS/DDoS Saldırıları ve Çeşitleri
Temel Kavramlar, DoS/DDoS Saldırıları ve ÇeşitleriTemel Kavramlar, DoS/DDoS Saldırıları ve Çeşitleri
Temel Kavramlar, DoS/DDoS Saldırıları ve ÇeşitleriBGA Cyber Security
 
Hacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziHacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziBGA Cyber Security
 
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuNmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuMehmet Caner Köroğlu
 
Pentester's Mindset! - Ravikumar Paghdal
Pentester's Mindset! - Ravikumar PaghdalPentester's Mindset! - Ravikumar Paghdal
Pentester's Mindset! - Ravikumar PaghdalNSConclave
 
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)Mehmet Kelepçe
 
SynFlood DDOS Saldırıları ve Korunma Yolları
SynFlood DDOS Saldırıları ve Korunma YollarıSynFlood DDOS Saldırıları ve Korunma Yolları
SynFlood DDOS Saldırıları ve Korunma YollarıBGA Cyber Security
 
The economic impact of cybercrime and cyber espionage
The economic impact of cybercrime and cyber espionageThe economic impact of cybercrime and cyber espionage
The economic impact of cybercrime and cyber espionageBee_Ware
 
Dangling DNS records takeover at scale
Dangling DNS records takeover at scaleDangling DNS records takeover at scale
Dangling DNS records takeover at scaleChandrapal Badshah
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hackingleminhvuong
 
SSRF For Bug Bounties
SSRF For Bug BountiesSSRF For Bug Bounties
SSRF For Bug BountiesOWASP Nagpur
 
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıZararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıBGA Cyber Security
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBGA Cyber Security
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defensesMohammed A. Imran
 

What's hot (20)

APT Saldırıları
APT SaldırılarıAPT Saldırıları
APT Saldırıları
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharCross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya Kurtarma
 
Temel Kavramlar, DoS/DDoS Saldırıları ve Çeşitleri
Temel Kavramlar, DoS/DDoS Saldırıları ve ÇeşitleriTemel Kavramlar, DoS/DDoS Saldırıları ve Çeşitleri
Temel Kavramlar, DoS/DDoS Saldırıları ve Çeşitleri
 
Hacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziHacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu Analizi
 
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuNmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
 
Pentester's Mindset! - Ravikumar Paghdal
Pentester's Mindset! - Ravikumar PaghdalPentester's Mindset! - Ravikumar Paghdal
Pentester's Mindset! - Ravikumar Paghdal
 
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)
Web Güvenlik Açıkları ve Kullanımı (Geniş Anlatım)
 
Syn Flood DDoS Saldırıları
Syn Flood DDoS SaldırılarıSyn Flood DDoS Saldırıları
Syn Flood DDoS Saldırıları
 
Ransomware: Wannacry
Ransomware: WannacryRansomware: Wannacry
Ransomware: Wannacry
 
Holynix v1
Holynix v1Holynix v1
Holynix v1
 
SynFlood DDOS Saldırıları ve Korunma Yolları
SynFlood DDOS Saldırıları ve Korunma YollarıSynFlood DDOS Saldırıları ve Korunma Yolları
SynFlood DDOS Saldırıları ve Korunma Yolları
 
The economic impact of cybercrime and cyber espionage
The economic impact of cybercrime and cyber espionageThe economic impact of cybercrime and cyber espionage
The economic impact of cybercrime and cyber espionage
 
Dangling DNS records takeover at scale
Dangling DNS records takeover at scaleDangling DNS records takeover at scale
Dangling DNS records takeover at scale
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hacking
 
SSRF For Bug Bounties
SSRF For Bug BountiesSSRF For Bug Bounties
SSRF For Bug Bounties
 
BTRisk - Siber Olay Tespit ve Mudahale Egitimi
BTRisk - Siber Olay Tespit ve Mudahale EgitimiBTRisk - Siber Olay Tespit ve Mudahale Egitimi
BTRisk - Siber Olay Tespit ve Mudahale Egitimi
 
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıZararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 

Viewers also liked

Vim Cheatsheet penguen-efendi.com
Vim Cheatsheet penguen-efendi.comVim Cheatsheet penguen-efendi.com
Vim Cheatsheet penguen-efendi.comMert Hakki Bingol
 
Facebook'taki Türk Bankaları
Facebook'taki Türk BankalarıFacebook'taki Türk Bankaları
Facebook'taki Türk BankalarıErol Dizdar
 
Never Settle: Reloaded
Never Settle: ReloadedNever Settle: Reloaded
Never Settle: ReloadedErol Dizdar
 
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecek
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecekYurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecek
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecekErol Dizdar
 
Türkiye Sosyal Medya Pazarlama Trendleri
Türkiye Sosyal Medya Pazarlama TrendleriTürkiye Sosyal Medya Pazarlama Trendleri
Türkiye Sosyal Medya Pazarlama TrendleriErol Dizdar
 
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet Araştırması
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet AraştırmasıISTSEC 2013 - Fuzzy Tabanlı Zaafiyet Araştırması
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet AraştırmasıBGA Cyber Security
 

Viewers also liked (20)

BTRWATCH ISO27001 Yazılımı
BTRWATCH ISO27001 YazılımıBTRWATCH ISO27001 Yazılımı
BTRWATCH ISO27001 Yazılımı
 
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi EğitimiBTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
 
BTRisk Android Uygulamalara Malware Yerleştirme Sunumu
BTRisk Android Uygulamalara Malware Yerleştirme SunumuBTRisk Android Uygulamalara Malware Yerleştirme Sunumu
BTRisk Android Uygulamalara Malware Yerleştirme Sunumu
 
BTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi EğitimiBTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi Eğitimi
 
ISO 27001:2013 versiyonu ile gelen değişiklikler
ISO 27001:2013 versiyonu ile gelen değişikliklerISO 27001:2013 versiyonu ile gelen değişiklikler
ISO 27001:2013 versiyonu ile gelen değişiklikler
 
Unix Denetim Dokümanı
Unix Denetim DokümanıUnix Denetim Dokümanı
Unix Denetim Dokümanı
 
BTRisk iOS Mobil Uygulama Denetimi Eğitimi
BTRisk iOS Mobil Uygulama Denetimi EğitimiBTRisk iOS Mobil Uygulama Denetimi Eğitimi
BTRisk iOS Mobil Uygulama Denetimi Eğitimi
 
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim SunumuBTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
 
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi SunumuBTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
 
BTRisk Adli Bilişim Eğitimi Sunumu
BTRisk Adli Bilişim Eğitimi SunumuBTRisk Adli Bilişim Eğitimi Sunumu
BTRisk Adli Bilişim Eğitimi Sunumu
 
Sizma testi bilgi toplama
Sizma testi bilgi toplamaSizma testi bilgi toplama
Sizma testi bilgi toplama
 
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi SunumuBilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
 
Kali Linux Hakkında Herşey
Kali Linux Hakkında HerşeyKali Linux Hakkında Herşey
Kali Linux Hakkında Herşey
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 
Vim Cheatsheet penguen-efendi.com
Vim Cheatsheet penguen-efendi.comVim Cheatsheet penguen-efendi.com
Vim Cheatsheet penguen-efendi.com
 
Facebook'taki Türk Bankaları
Facebook'taki Türk BankalarıFacebook'taki Türk Bankaları
Facebook'taki Türk Bankaları
 
Never Settle: Reloaded
Never Settle: ReloadedNever Settle: Reloaded
Never Settle: Reloaded
 
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecek
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecekYurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecek
Yurt dışından getirilen telefonlar e-devlet'ten kayıt edilebilecek
 
Türkiye Sosyal Medya Pazarlama Trendleri
Türkiye Sosyal Medya Pazarlama TrendleriTürkiye Sosyal Medya Pazarlama Trendleri
Türkiye Sosyal Medya Pazarlama Trendleri
 
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet Araştırması
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet AraştırmasıISTSEC 2013 - Fuzzy Tabanlı Zaafiyet Araştırması
ISTSEC 2013 - Fuzzy Tabanlı Zaafiyet Araştırması
 

Similar to Jmeter ile uygulama katmanında yük testi gerçekleştirme

45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysisAttaporn Ninsuwan
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Mehmet Ince
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişBurak AVCI, MEM, PSM I®
 
Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)windowsblogu
 
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
Compose Camp - 1.Gün Unit 1  Pathway 3.pptxCompose Camp - 1.Gün Unit 1  Pathway 3.pptx
Compose Camp - 1.Gün Unit 1 Pathway 3.pptxGDSCOM
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1Univerist
 
Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Hakan Yüksel
 
W3af ile Web Uygulama Güvenlik Testleri – II
W3af ile Web Uygulama Güvenlik Testleri – IIW3af ile Web Uygulama Güvenlik Testleri – II
W3af ile Web Uygulama Güvenlik Testleri – IIBGA Cyber Security
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleriErtugrul Akbas
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ ProgramlamaOguzhan Coskun
 
GÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMAGÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMABGA Cyber Security
 
agem_intern_report
agem_intern_reportagem_intern_report
agem_intern_reportMeliz Ersoy
 
Ileri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer KoculuIleri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer Koculumustafa sarac
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerKavi International
 
Binary Modification [Patching]
Binary Modification [Patching]Binary Modification [Patching]
Binary Modification [Patching]BGA Cyber Security
 
Spring uygulamaların exception handling yönetimi
Spring uygulamaların exception handling yönetimiSpring uygulamaların exception handling yönetimi
Spring uygulamaların exception handling yönetimiSistek Yazılım
 
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon Pc Teknoloji Hizmetleri
 

Similar to Jmeter ile uygulama katmanında yük testi gerçekleştirme (20)

Jmeter
JmeterJmeter
Jmeter
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
 
Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)
 
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
Compose Camp - 1.Gün Unit 1  Pathway 3.pptxCompose Camp - 1.Gün Unit 1  Pathway 3.pptx
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1
 
Sunum tdd
Sunum tddSunum tdd
Sunum tdd
 
Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture
 
W3af ile Web Uygulama Güvenlik Testleri – II
W3af ile Web Uygulama Güvenlik Testleri – IIW3af ile Web Uygulama Güvenlik Testleri – II
W3af ile Web Uygulama Güvenlik Testleri – II
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleri
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
GÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMAGÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMA
 
agem_intern_report
agem_intern_reportagem_intern_report
agem_intern_report
 
Ileri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer KoculuIleri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer Koculu
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
 
Binary Modification [Patching]
Binary Modification [Patching]Binary Modification [Patching]
Binary Modification [Patching]
 
Spring uygulamaların exception handling yönetimi
Spring uygulamaların exception handling yönetimiSpring uygulamaların exception handling yönetimi
Spring uygulamaların exception handling yönetimi
 
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
 

More from BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri

More from BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri (11)

Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
 
Yazıcı Güvenliği
Yazıcı GüvenliğiYazıcı Güvenliği
Yazıcı Güvenliği
 
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMUBTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
 
BTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
BTRİSK Web Uygulama Güvenliği Denetimi EğitimiBTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
BTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
 

Jmeter ile uygulama katmanında yük testi gerçekleştirme

  • 1. Jmeter ile Uygulama Katmanında Yük Testi Gerçekleştirme
  • 2. blog.btrisk.com @btrisk /btrisktv /btrisk 1 Temel Adımlar Apache Jmeter Java tabanlı, ortam bağımsız statik ve dinamik kaynakları test etmek için kullanılan bir yük testi aracıdır. Apache Jmeter uygulaması ile gerçekleştirebileceğiniz bazı sunucu veya protokol türleri aşağıdaki 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 yük testimiz için gerekli olan Apache Jmeter uygulamasını indirilelim. İndirdiğimiz “apache-jmeter-2.12.zip” arşiv dosyasını klasöre çıkartıp, klasör içerisinde bulunan bin klasörü içerisindeki ApacheJMeter.jar uygulamasını çalıştıralım.
  • 3. blog.btrisk.com @btrisk /btrisktv /btrisk 2 Web Sunucu Test Senaryosunun Hazırlanması Web sunucu test senaryosunu hazırlamak için birden fazla farklı yöntem bulunmaktadır. Bu makalemizde en temel adımlardan başlayacağız ve sonraki adımlarda yeri geldikçe diğer yöntemlerden bahsedeceğiz. Bir web sunucusunu uygulama katmanında yüke karşı dayanıklığını test etmek için, öncelikli olarak kullanıcı sayısını belirlememiz gerekmektedir.  Test Plan’a farenin sağ tık butonuna basarak Add menüsünden Thread (Users) kısmından, Thread Group’u seçelim. Eklemiş olduğumuz Thread Group’a ilişkin ekran görüntüsü aşağıdaki gibidir: Thread Group içerisinde yer alan alan bazı parametre alanlarına göz atalım, Name:Thread Group’u adlandırmak için kullanılır. Action to be taken a Sampler error: Test yapıldığında hata durumundaki davranışını ifade eder.  "Continue" - Hata oluşursa bile test etmeye devam et  “Start Next Thread Loop” – Hata alındığında bir sonraki dizi döngüsüne geç  "Stop Thread" – İşletim diziyi durdur  "Stop Test" - Testi durdur
  • 4. blog.btrisk.com @btrisk /btrisktv /btrisk 3 Number of Threads (users): Oluşturulacak sanal kullanıcı (virtul user(s) veya concurrent user(s) değeri bu alana girilir. Ram-up period (in seconds): Number of Threads kısmında belirlenen kullanıcı sayısına kaç saniye erişilmek isteniyorsa buraya o değer yazılır. Loop Count: Testin kaç defa tekrarlanacağı bu alanda belirlenir. “Frover” seçeneği seçilirse kullanıcı tarafından test durdurulana kadar yük testi devam edecektir. Scheduler: Testin belirtilen zaman aralığında gerçekleştirilmesini sağlar.  HTTP sayfa yük testi için ayarları konfigüre etmek için Thread Group’a farenin sağ tuşuna basarak Add menüsünden, Config Element kısmından HTTP Request Defaults’u seçelim. Server Name or IP: Bu alana test yapmak istediğimiz Http sunucusu alan (domain) adını veya IP adres değerini yazalım. Port Number: Bu alana Http sunucuna bağlanılmak istenen port numarasını yazalım. Timeouts: Connect (Bağlantı) ve Respons (Yanıt) alanlarına mili saniye cinsinden değerler girerek zaman aşımı değerlerini tanımlayabilirsiniz.
  • 5. blog.btrisk.com @btrisk /btrisktv /btrisk 4 Path: Http sunucusu dizininde yer alan yol (iz) bilgisini tanımı yapılabilinir.  blog.btrisk.com sitesi için aşağıdaki gibi parametre tanımları yapılmıştır.  HTTP isteğini (HTTP Request) Thread Group’a farenin sağ tuşuna basarak Add menüsünden, Sampler kısmında HTTP Request’ i aşağıdaki gibi ekleyebiliriz.
  • 6. blog.btrisk.com @btrisk /btrisktv /btrisk 5 Karşımıza çıkan HTTP Request sayfası aşağıdaki gibidir.  Örnek olarak blog.btrisk.com sitesine yönelik yük testi için HTTP Request içerisinde yer alan ilgili parametreleri aşağıdaki gibi düzenleyelim. Path alanı yukarıda da görüleceği üzere ana sayfaya giriş olduğu için “/” değeri girilmiştir.  Ayrıca Blog.btrisk.com sitesinde yer alan diğer bir sayfaya yapılacak istek içinde yeni bir HTTP Request ekleyip içerisindeki parametre alanlarına aşağıdaki gibi bilgiler girilmiştir.
  • 7. blog.btrisk.com @btrisk /btrisktv /btrisk 6  Yapılan isteklere karşılık alınan yanıt sürelerine ilişkin değerleri grafiksel olarak görüntüleyebilmek için Thread Group’a farenin sağ tuşuna basarak Add menüsünden, Listener kısmından Response Time Graph’ı seçelim.  Bu adımda Thread Group sayfasından kullanıcı sayısını, belirlenen kullanıcı sayısına kaç saniyede ulaşacağını ve testin kaç defa tekrar edileceğini belirleyelim.  Son adım olarak Run menüsünden Start veya Crtl+R tuş kombinasyonunu kullanarak yük testini başlatalım. Test başladığında Test süresince sağ üst köşede yeşil kare yanacak ve kullanıcı sayısı tanımlanan değere kadar artacaktır.  Test bitiminde veya test devam ederken Response Time Graph’ı seçip Graph sekmesinden yanıt sürelerinin değişimini gözlemleyebiliriz.
  • 9. blog.btrisk.com @btrisk /btrisktv /btrisk 8 Gelişmiş Seçeneklerin Kullanımı Bu adımda Http ve Https temelli senaryolarımızı daha kolay bir şekilde oluşturmayı ve Jmeter-Plugin eklentisi ile daha fazla grafik elde ederek yük testi analizlerimizin daha anlamlı ve anlaşılır olmasını sağlayacağız. Makalemize başlamadan önce Jmeter-Plugin.org sayfasından Extras Set eklentisini indirelim. İndirdiğimiz Extras Set arşiv dosyasını bir klasöre çıkarıp içerisindeki dosyaları Apache- Jmeter ana dizine kopyalayıp, var olan dosyaları yenileri ile değiştirilmesine izin verelim. Yukarıdaki anlatılan işlemleri doğru bir şekilde gerçekleştirdiğinizde Apache-Jmeter/bin dizini içerisinde yer alan ApacheJMeter.jar uygulamasını çalıştırdığınızda aşağıdaki gibi değişikler olduğunu göreceksiniz. Örneğin Listener sekmesine tıkadığınızda seçeneklerin aşağıdaki gibi artığı görülmekte.
  • 10. blog.btrisk.com @btrisk /btrisktv /btrisk 9 HTTP(S) Test Script Recorder ile Yük(Stres) Testi Senaryosunun Hazırlanması  Apache-Jmeter uygulamasının bulunduğu klasör içerisinden ApacheJmeter.jar uygulamasını çalıştıralım.  Test Plan’a sağ tıklayıp Add sekmesinden Thread (user) alanından Thread Group bileşenini seçelim.  Thread Group içerisinde yer alan daha önce temel adımlarda değindiğimiz parametreler alanlarını yük testimizin ihtiyaçları doğrultusunda düzenleyelim Örneğin biz yük testimizi 100 sanal kullanıcıya 10 saniyede ulaşabilecek ve senaryoyu 4 defa tekrarlayacak şekilde düzenleyelim.  Thread Group bileşenine sağ tıklayıp Add sekmesinden Logic Controller içerisinden Recording Controller’ı seçelim. Recorder Controller bileşenini kullanmamızın amacı, yapacağımız istekleri bu bileşen aracılığı ile test senaryosu içerisine kayıt etmek.
  • 11. blog.btrisk.com @btrisk /btrisktv /btrisk 10  Thread Group bileşine sağ tıklayıp Add sekmesinden Timer içerisinden Constant Timer’ ı seçelim. Constant Timer bileşeni ile yapılan her bir istek arasındaki bekleme süresini belirleyebiliriz. Bu test senaryosu için yapılan istekler arasındaki bekleme süresi 300 mili saniye olarak belirlenmiştir.  WorkBench’e sağ tıklayıp Non-Test Elements sekmesinden HTTP(S) Test Script Recorder bileşenini seçelim.
  • 12. blog.btrisk.com @btrisk /btrisktv /btrisk 11 HTTP(S) Test Script Recorder bileşeni bizlere tanımlayacağımız proxy aracılığı ile herhangi bir internet tarayıcısı ile gerçekleştriceğimiz istekleri, Thread Group altında yer alan Recoring Controller bileşeni içerisine eklenmesini sağlayacaktır. HTTP(S) Test Script Recorder üzerinde yer alan Global Settings alanındaki Port numarasını proxy aracalığı ile dinlemek istediğimiz Port numarasını yazalım ve Test plan content altında yer alan Target Controller alanından yük testi senaryomuzu oluşturacağımız Recoring Controller’ın adını aşağıdaki gibi seçelim. Bunlara ek olarak test senaryonuz içerisinde olmasını istemediğiniz, sayfalar içerisinde yer alan uzantıları URL Patterns to Exclude alanından belirleye bilirsiniz.
  • 13. blog.btrisk.com @btrisk /btrisktv /btrisk 12  Tarayıcımızın Ayarlar kısmından Bağlantı ayarlarından yukarıda tanımladığımız port numarasını 8080 ve domain başlığına localhost veya 127.0.0.1 yazalım.  Yukarı anlatılan bütün ayarlar yapıldık sonra WorkBench’in altında yer alan HTTP(S) Test Script Recorder seçilip Start butonu tıklanıp proxy ayarları yapılmış tarayıcı üzerinden yük testi yapacağımız ilgili web sayfasının test senaryosu kapsamında ilgili
  • 14. blog.btrisk.com @btrisk /btrisktv /btrisk 13 alanlarında gezinerek test senaryosunu oluşturalım.  Kontrol Notu: Test senaryosunun kayıt edildiğinden emin olabilmek için Test Plan’ın altında yer alan Thread Group’un altındaki Recording Controller sekmesi genişletelim ve gezilen sayfalara ait ilgili linklere göz atalım.  Gelişmiş seçeneklerinin kullanımı adımında bahsediğimiz Jmeter-Plugin eklentisi ile gelen grafiklerin ne anlama geldiğine kısaca göz atalım. Therad Group’ sağ tıklayıp Add Listener sekmesinden aşağıda kullanım amaçları yer alan bazı bileşenleri ekleyelim;  Response Codes per Second: Yaptığımız isteklere karşılık gelen yanıt başlığındaki mesajlarını istatistiksel dağılımını grafiksel olarak gösterir.  Response Latencies Over Time: Yapılan isteklere karşılık alınan yanıtların gecikme (Latencies) değerlerinin istatistiksel dağılımını grafiksel olarak gösterir.  Response Times vs Threads: Yaptığımız isteklere karşılık gelen yanıtların süresini ve o andaki kullanıcı sayısının istatistiksel dağılımını grafiksel olarak gösterir.  Hits per Second: Bir saniyede iletilen istek sayısının istatistiksel dağılımını grafiksel olarak gösterir.
  • 15. blog.btrisk.com @btrisk /btrisktv /btrisk 14  Son adım olarak testimizi Ctrl + R veya Run sekmesinde Start butonuna basarak başlatalım. Örnek grafik çıktıları aşağıdaki gibidir:  Response Codes per Second
  • 16. blog.btrisk.com @btrisk /btrisktv /btrisk 15  Response Latencies Over Time  Response Times vs Threads
  • 17. blog.btrisk.com @btrisk /btrisktv /btrisk 16  Hits per Second
  • 18. blog.btrisk.com @btrisk /btrisktv /btrisk 17 HTTPS İsteklerinin Proxyden Geçirilmesi Jmeter fonksiyonaliteleri içerisinde yer alan HTTP(S) Test Script Recorder kullanarak 443 portundan yayın yapan yani HTTPS ile iletişim kuran sayfaları proxy’den geçirmek için Jmeter sertifikasını yüklemeniz gerekmetedir. Apache-Jmeter Sertifikasının Web Tarayıcısına Yüklenmesi Apache-Jmeter sertifikasını tarayıcımıza yüklemek için aşağıdaki adımları uygulayalım: Öncelikle ApaceheJmeter.jar uygulamasını açalım ve WorkBench’e sağ tıklayıp Add->Non- Test Elements->HTTP(S) Test Script Recorder’ı ekleyelim. HTTP(S) Test Script Recorder üzerinde yer alan Start butonu tıklayalım ve karşımıza çıkan uyarıda OK butonuna basalım,
  • 19. blog.btrisk.com @btrisk /btrisktv /btrisk 18 Oluşturulan sertifikayı Mozilla tarayıcıya yüklenmesi:  Tarayıcımızın Araçlar sekmesinde Seçenekler->Gelişmiş->Sertifikalar bölümünden Sertifikaları Göster butonuna tıklayalım ve Yetkili sekmesine tıklayalım.  Onay belgesi yöneticisinden İçe aktar butonuna tıklayarak ApacheJmeter’in kurulu olduğu dizin içerisindeki bin klasörünün yolu gösterelim.
  • 20. blog.btrisk.com @btrisk /btrisktv /btrisk 19  ApacheJMeterTemporaryRootCA.crt dosyasını seçip yükleyelim.  Tüm alanları yukarıdaki gibi kutucukları işaretleyip onaylayalım. Artık HTTPS istekleri HTTP(S) Test Script Recorder bileşeni aracılığı ile kaydedebilirsiniz.
  • 21. blog.btrisk.com @btrisk /btrisktv /btrisk 20 Komut Satırında Yük Testi Gerçekleştirme Lokalde yapılacak yük (örneğin 1000 ve üzeri sanal kullanıcı ile) testinde performans probleminin önüne geçmek için Jmeter, komut satırında parametrelerle çalıştırılmalı. Birden fazla eklenen grafik bileşenleri yüksek kullanıcı sayısında arayüz kullanılarak yapılan testlerde, yük testinin gerçekleştrildiği sunucuda bellek ve işlemci kullanımını büyük oranda artırmaktadır. Jmeter arayüz modunda istenilen test senaryosu ve grafikler ekledikten sonra yük testini başlatmak yerine File sekmesinden Save Test Plan seçeneğini kullanarak test senaryosunu Apache-Jmeter uygulamasının bulunduğu dizindeki bin dosyası içerisine kaydedelim. Ayrıca Apache-JMeter’ın kullanacağı Ram miktarını aşağıdaki gibi konfigüre edelim: Apache-Jmeter dizininde Bin klasörünün altında yer alan jmeter.bat dosyasına sağ tıklayıp birlikte aç seçeneğini kullanarak ile notpad uygulamasıyla açalım. Açılan sayfada “set HEAP” parametresini bulalım ve parametre içerisinde yer alan megabyte cinsindeki bellek miktarını değiştirelim. Örneğin: set HEAP=-Xms1024m –Xmx1024m Yukarıda anlatılan ilgili konfigürasyonları yaptıktan sonra komut satırından Apache-Jmeter dizini içerisindeki bin klasörüne ulaşalım.
  • 22. blog.btrisk.com @btrisk /btrisktv /btrisk 21 Komut satırına jmeter -t TestPlan.jmx -n -l c:Test_Plan_Data.csv yazalım. .jmx uzantılı dosyada test senaryosu yer almaktadır, c dizini altında oluşacak Test_Plan_Data.csv dosyasına ise test sonuçları yazılacaktır. .csv uzantılı dosya içerisindeki verileri işlemek için test bittikten sonra Apache-Jmeter uygulaması ile oluşturduğumuz test senaryosunu açıp ilgili grafik bileşenlerine açarak Browse seçeneğindenTest_Plan_Data.csv dosyasının bulunduğu yeri gösterelim.
  • 23. blog.btrisk.com @btrisk /btrisktv /btrisk 22 Hakkımızda 2009 yılında kurulmuş ve sadece bilgi güvenliği hizmetlerine odaklanmış olan BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri bilgi güvenliği problemine yönetim kurulu seviyesinden sistem odası uygulamasına kadar uzanan alanda çözüm üretmektedir. BTRisk bilgi güvenliği problemini görünür hale getirerek algılanmasını, anlaşılmasını ve dolayısıyla ele alınmasını mümkün hale getirmektedir. BTRisk bilgi güvenliği problemine karşı geliştirdiği yaklaşımları gerçek hayat koşullarında test etmiş ve uygulanabilir hale getirmiştir. Bilgi güvenliği ve BT yönetişim hizmet alanlarımız aşağıdaki gibidir:  Pentest Hizmetleri  Bilgi Güvenliği ve BT Yönetişim Hizmetleri  Bilgi Güvenliği Operasyon Hizmetleri  Teknik Güvenlik Denetim Eğitimleri  Yönetişim ve Denetim Eğitimleri Özgün ürünlerimiz aşağıdaki gibidir: 5651 Uyumlu Wi-Fi ve Kablolu Bilgi Güvenliği Risk Analizi Tek Kullanımlık Parola Ağ Hotspot Çözümü ve Denetim Uygulaması Çözümü