Anda di halaman 1dari 26

STRESS TEST DAN PERFOMENCE TEST

SISTEM INFORMASI

MAKALAH

Oleh :

1. ADE FIRMANSYAH
NIM : 1901050019
2. TJOKORDA GDE AGUNG ARI YUDHA
NIM : 1901050027

PROGRAM STUDI D3 SISTEM INFORMASI

FAKULTAS TEKNIK Dan KESEHATAN

UNIVERSITAS BUMIGORA MATARAM

2019/2020
PENDAHULUAN

Seiring dengan peningkatan kebutuhan pengolahan informasi via internet dan jumlah
web server, mengakibatkan kualitas web server itu menjadi dipertanyakan. Webserver,
sebagai pengolah informasi dalam skala besar, tentunya harus memiliki kualitas yang
baik, karena tentu saja informasi yang diolah dibutuhkan oleh para penggunanya.Untuk
memastikan kualitas dari web server itu sendiri, diperlukan sebuah test yaitu stress test
da performance test.

Stress test merupakan salah satu jenis pengujian di mana pada suatu aplikasi
dilakukan proses pengujian sampai menemui kondisi yang tidak normal, misalnya
dengan meload data dalam jumlah sangat besar, akses secara bersamaan, dan lain-
lain.

Performance testing sangat krusial bagi seorang software quality assurance,


Performace Testing adalah teknik pengujian non-fungsional dilakukan untuk
menentukan parameter sistem dalam hal respon dan stabilitas dalam beban
aplikasi/website. pengujian kinerja mengukur atribut kualitas sistem, seperti skalabilitas,
kendala dan penggunaan sumber daya

Maka dari itu, stress test dan performance perlu dilakukan pada web server yang
seringkali diakses para penggunanya yang tersebar di seluruh penjuru dunia. Makalah
ini akan menjelaskan mengenai stress test dan performance bagaimana contoh
penerapannya yang dilakukan pada salah satu web server di Indonesia yang notabene
masih banyak memiliki lubang yang perlu diperbaiki.
DEFINISI STRESS TEST DAN PERFOMANCE TEST

A. STRESS TEST

Stress testing adalah salah satu jenis pengujian sistem (system testing). Pengujian ini
bertujuan untuk melihat apakah perangkat lunak secara keseluruhan mampu menangani
kebutuhan sumberdaya yang tidak normal (mencakup kuantitas, frekuensi, maupun volume).

Apakah data dalam jumlah sangat besar, dengan frekuensi sangat tinggi, serta volume yang
sangat besar mengakibatkan performansi atau bahkan fungsionalitas perangkat lunak
terganggu atau tidak Jadi, meskipun perangkat lunak anda sudah berjalan baik di setiap
fiturnya, pastikan juga setiap perangkat lunak tetap bekerja dengan maksimal saat diberi
‘beban berat’.

Jangan hanya menguji dengan data uji yang terbatas, Stress test dilakukan secara bertahap
yaitu pertama dengan test kecil dan dilkanjutkan dengan maksimal user yang bisa ditangani
web ,ini penting karena kita harus tau seberapa kuat web dalam menangani beban. Banyak
tool-tool yang digunakan untuk stress test antara lain :

1. WAPT
2. Webstress test tool (Microsoft)
3. Apache Jmeter
4. WSOP

Tools tools diatas merupakan tools untuk pengujian stress test dan sangat mudah dalam
penggunaanya.

1. Stress testing dengan JMeter

Apache JMeter adalah aplikasi desktop Java open source, dibuat untuk memverifikasi
perilaku fungsional, melakukan tes beban, dan mengukur kinerja. Beberapa poin kekuatan
JMeter disebutkan di sini di bawah ini:

 Ini dikirimkan dengan GUI yang mudah digunakan;

 Hal ini memungkinkan untuk mengatur beberapa grup utas, paralelisme yang berbeda
dan jumlah permintaan, untuk meningkatkan muatan;

 Itu dapat menggunakan file CSV untuk menghasilkan permintaan semi-acak;

 Itu dapat melakukan tes parameter;


 Ini melaporkan hasil dalam tabel sederhana;

 Ini menggunakan pernyataan untuk memeriksa hasil tes;

 Itu dapat dieksekusi dalam batch.

Pada gambar di bawah ini kami telah merangkum konsep dasar dari uji JMeter yang akan kami
bangun setelahnya.

Konsep dasar JMeter

Mengkonfigurasi tes sederhana

Bagian ini menjelaskan cara menjalankan tes kinerja menggunakan JMeter untuk mengevaluasi
kinerja GeoServer saat melayani permintaan WMS. Tes kinerja bertujuan untuk menekankan
server dan mengevaluasi waktu respons dan throughput dengan peningkatan jumlah pengguna
yang disimulasikan mengirimkan permintaan bersamaan ke server.

Catatan

Idealnya, untuk menghindari penambahan beban tambahan ke server, JMeter harus dijalankan
pada mesin yang berbeda.

Peringatan

Jika Anda telah melakukan latihan di bagian keamanan, silakan kembali ke halaman layer dan
layanan keamanan dan buka akses ke semua orang, pada semua data dan semua layanan,
sebelum melakukan latihan di bagian ini

1. Dari root pelatihan, pada baris perintah, jalankan jmeter.bat (atau jmeter.sh jika Anda
menggunakan Linux) untuk memulai JMeter:
antarmuka jMeter

2. Tambahkan Grup Thread baru dengan klik kanan mouse pada simpul pohon Test Plan :

Menambahkan Grup Thread baru

3. Di panel Thread Group atur jumlah utas untuk pengujian ke 4 (ini mewakili jumlah
permintaan simultan yang dibuat untuk GeoServer) dan periode ramp-up menjadi 60.
Selain itu, chek Forever pada bidang Loop Count .
Mengatur Grup Thread

4. Tambahkan Loop Controller baru dengan klik kanan mouse pada simpul
pohon Thread Group :

Menambahkan Pengontrol Lingkaran baru

5. Klik kanan pada simpul pohon Loop Controller dan tambahkan elemen Permintaan
HTTP baru:
Menambahkan Permintaan HTTP baru

6. Dalam Permintaan HTTP, masukkan konfigurasi dasar berikut:

Bidang Nilai

Nama Server atau IP localhost

Nomor port 8083

Path geoserver / ows

7.
8. Konfigurasi permintaan Host / port / path HTTP

9. Dari root dir data pelatihan, buka data/jmeter_data/jmeter_request_params.txt , pilih dan


salin isinya di clipboard, lalu klik “Add from Clipboard” di panel “HTTP request” untuk
mengatur contoh permintaan GetMap:
Konfigurasi parameter HTTP

1. Tambahkan pendengar berikut dengan mengklik kanan pada simpul


pohon Test Plan : View results Tree , Summary Report , Graph results
Menambahkan Pendengar

2. Simpan konfigurasi ini ke data/jmeter_data/ as jmeter_simple.jmx

Pada titik ini JMeter dikonfigurasikan untuk menjalankan uji kinerja GeoServer:

1. Klik pada Run tool dan pilih Start untuk memulai uji jMeter.
memulai uji jMeter

2. Pilih View Results Tree untuk langsung melihat informasi permintaan yang dihasilkan
dan hasil permintaan:

Panel Lihat Hasil Pohon

3. Pilih Summary report untuk melihat informasi statistik tentang permintaan:


Panel Grafik Agregat

4. Pilih Graph Results untuk menganalisis tren teknis permintaan:

Panel Spline Visualizer

5. Klik pada Run tool dan pilih Stop untuk mengakhiri sesi benchmarking
B. PERFOMANCE TEST

Performance Testing merupakan proses menentukan kecepatan atau efektivitas,


jaringan program computer, perangkat lunak atau perangkat. Proses ini dapat
melibatkan test kuantitatif yang dilakukan di laboratorium, seperti mengukur waktu
respon atau jumlah MIPS (Millions of Intructions per Second) pada fungsi sistem. Atribut
kualitatif seperti kehandalan, skalabilitas dan interoperabilitas juga dapat dievaluasi.
Performance Testing sering dilakukan dalam hubungannya dengan stress testing.

Performance Testing dapat memverifikasi bahwa sistem memenuhi spesifikasi


diklaim oleh produsen atau vendor. Proses ini dapat membandingkan dua atau lebih
perangkat atau program dalam hal parameter seperti kecepatan, kecepatan transfer
data, bandwidth, throughput, efisiensi atau keandalan.

Performance Testing juga dapat digunakan sebagai alat bantu diagnostik dalam
menemukan kemacetan komunikasi. Seringkali sistem akan bekerja jauh lebih baik jika
masalah ini diselesaikan di satu titik atau dalam komponen tunggal. Misalnya, bahkan
komputer tercepat akan berfungsi buruk di Web hari ini jika koneksi terjadi di hanya 40
sampai 50 Kbps (kilobit per detik). Lambatnya kecepatan transfer mungkin dapat juga
disebabkan pada hardware, tetapi juga dapat berhubungan dengan masalah perangkat
lunak, seperti :

 Terlalu banyak aplikasi yang berjalan pada waktu yang sama

 Sebuah file yang rusak pada WEB browser

 Adanya eksploitasi keamanan

 Perangkat lunak Anti-virus

 Adanya malware aktif pada harddisk

Performance Testing yang efektif dapat dengan cepat mengidentifikasi masalah kinerja
perangkat lunak yang terkait.

Fokus dari Performace Testing antara lain

 Speed : Menentukan apakah respon aplikasi cepat atau lambat

 Scalability : Menentukan beban pengguna maksimum aplikasi.

 Stability : Menentukan apakah aplikasi tersebut stabil di bawah beban yang


bervariasi
 Reability : Menentukan cara menghandle aplikasi apabila ada beban yang berat

Performance Testing Process

1. Identify your testing environment - Memahami rincian konfigurasi hardware,


software dan jaringan yang digunakan selama pengujian sebelum Anda memulai
proses pengujian. Ini akan membantu penguji membuat tes yang lebih efisien. Ini
juga akan membantu mengidentifikasi kemungkinan hambatan pada saat testing

2. Identify the performance acceptance criteria - Hal ini juga diperlukan untuk
mengidentifikasi kriteria keberhasilan proyek di luar tujuan dan kendala. Penguji
harus menetapkan kriteria kinerja dan tujuan karena sering spesifikasi proyek
tidak akan mencakup cukup berbagai tolok ukur kinerja.

3. Plan & design performance tests - Membuat test plan untuk mengidentifikasi
semua pengujian yang akan di lakukan

4. Configuring the test environment - Mempersiapkan lingkungan pengujian


sebelum eksekusi. Juga, mengatur alat dan sumber daya lainnya.

5. Implement test design - Membuat Scenario test sesuai dengan design

6. Run the tests - Eksekusi test

7. Analyze, tune and retest - Melakukan analis dari hasil test, untuk melihat
apakah ada peningkatan atau penurunan kinerja aplikasi. Sehingga dapat
menentukan apa yang harus ditingkatan dari sebuah aplikasi
Langkah-langkah performance test menggunakan apache jmeter

Buka aplikasi Jmeter.

Tunggu beberapa saat sampai tampil, aplikasi JMeter.

Kemudian ganti informasi Name, sesuai kebutuhan. Misal Performance Test Web Service
Presensi.

3. Menambahkan User Defined Variables

Di node ini kita akan menambahkan informasi global yang sering digunakan pada saat testing
seperti informasi host dan port.

Untuk menambahkan node User Defined Variables klik kanan node Test Plan (Performance
Test Web Service Presensi) -> Add -> Config Element -> User Defined Variables.
Kemudian lakukan pengaturan User Defined Variables seperti gambar berikut :

Pada gambar di atas kita menambahkan dua variabel yaitu host dan port. Nah variabel-variabel
ini nantinya akan digunakan pada langkah-langkah berikutnya.

4. Menambahkan HTTP Header Manager

Setelah menambahkan node User Defined Variables, kita lanjutkan dengan menambahkan
node HTTP Header Manager. Langkah-langkahnya sama seperti menambahkan node User
Defined Variables, hanya saja yang dipilih adalah HTTP Header Manager.

Di node ini kita akan menambahkan informasi apa saja yang dikirimkan JMeter ke HTTP
request header.
5. Menambahkan HTTP Request Defaults

Langkah berikutnya adalah menambahkan node HTTP Request Defaults, caranya juga sama
seperti sebelumnya hanya saja yang dipilih node HTTP Request Defaults.

Di node ini kita cukup mengeset informasi nama server/ip address, port dan protocol.

Karena sebelumnya kita sudah mendefinisikan nama host dan port di node User Defined
Variables, di node ini kita tinggal panggil variabel tersebut dengan format :
${NAMA_VARIABEL}.

6. Menambahkan Thread Group

Node ini digunakan untuk mengelompokan service yang akan di tes. Misal kita mempunyai
service Mahasiswa dan Dosen, kedua service ini sebaiknya dibuatkan Thread Group masing-
masing.
Untuk menambahkan node Thread Group klik kanan node Test Plan (Performance Test Web
Service Presensi) -> Add -> Threads (Users) -> Thread Group.

Kemudian atur settingnya seperti berikut :

Dari setting di atas, kita akan membuat skenario performance test seperti berikut :

 Jumlah user sebanyak 50 orang

 Setiap 2 detik (100/50), akan mengirimkan 6 request ke server.

 Total jumlah sample = 300 (50 x 6)

Skenario performance test ini bisa diganti-ganti nilainya sesuai kebutuhan.

7. Menambahkan HTTP Request

Setelah menentukan skenario performance test, langkah berikutnya adalah menambahkan


node HTTP Request. Di node inilah kita akan menentukan web service yang akan di tes. Misal
web service mahasiswa mempunyai dua layanan yaitu GetByID dan GetByName. Nah dua
layanan ini akan kita tambahkan sebagi bagian dari HTTP Request.

Untuk menambahkan node HTTP Request klik kanan node Thread Group (Web Service
Mahasiswa) -> Add -> Sampler -> HTTP Request.

Kemudian atur settingnya seperti berikut :

Dari gambar di atas, informasi web servicenya sebagai berikut :

 Nama service : GetById

 Path/Url : /Api/Mahasiswa/GetById

 Service ini mempunyai satu parameter yaitu id, yang kita set nilainya 09.01.2488
 Informasi server name/ip dan port number tidak perlu di set, karena sudah kita set
nilainya di node HTTP Request Defaults

Ulangi langkah sebelumnya untuk menambahkan service yang lain.

8. Menambahkan report untuk menampilkan hasil Performance test

Ada beberapa format laporan yang digunakan untuk menampilkan hasil performance test yaitu :

 View Results in Table

 View Results Tree

 Response Times Over Time

 Transactions per Second

 Statistical Aggregate Report

 Summary Report

Untuk menambahkan semua format laporan di atas klik kanan node Thread Group (Web
Service Mahasiswa) -> Add -> Listener -> Pilih jenis laporan.
9. Menjalankan Performance test

Untuk menjalankan performance test, kita tinggal mengklik toolbar Start

Performance test ini di jalankan menggunakan Environment Test sebagai berikut :

Server Web Service :

 Sistem Operasi : Windows Server 2008 64 Bit

 Web Server : IIS 7

 Teknologi/framwork REST Service : ASP.NET Web API 2

 Processor : Intel Xeon X5570 2.93 Ghz

 RAM : 12 GB

Server Database :
 Sistem Operasi : Windows Server 2012 64 Bit

 Database : SQL Server 2014

 Processor : Intel Xeon E5-2620 v2 2.10 Ghz

 RAM : 24 Gb

10. Contoh Hasil Performance Test


3. PERFORMANCE TEST MICHAT MENGGUNAKAN WPAT

Anda mungkin juga menyukai