Anda di halaman 1dari 15

BAB I

PENDAHULUAN

Seiring dengan peningkatan kebutuhan pengolahan informasi via internet dan


jumlah web server, mengakibatkan kualitas web server itu menjadi dipertanyakan. Web
server, 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. 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. Maka dari
itu, stress test perlu dilakukan pada web server yang seringkali diakses para penggunanya
yang tersebar di seluruh penjuru Negara, bahkan sampai seluruh penjuru dunia. Laporan
ini akan menjelaskan mengenai stress test dan bagaimana contoh penerapannya yang
dilakukan pada salah satu web server di Ezeelink yang notabene masih banyak memiliki
lubang yang perlu diperbaiki.

1.1 Latar Belakang


Kebutuhan akan otomatisasi proses dengan menggunakan teknologi informasi
yang terus bertambah, mengakibatkan pertumbuhan berbagai macam jenis aplikasi
meningkat. Hal ini juga berlaku pada peningkatan jumlah web server sebagai pengelola
informasi via internet. Apakah berbagai macam jenis web server itu telah memiliki
kualitas yang baik, merupakan hal yang penting untuk dipertimbangkan. Apabila sebuah
web server tidak memiliki kualitas yang baik, hampir pasti dapat dipastikan bahwa
informasi yang dapat diolah pun tidak akan maksimal, bahkan dapat berakibat merugikan
user pemakai web server tersebut. Maka dari itulah, testing sangat perlu dilakukan.
Ada banyak jenis testing yang dapat dilakukan dalam rangka pendeteksian ada
tidaknya error pada sebuah aplikasi. Dalam hal web server, jenis testing yang sangat
perlu dilakukan adalah stress test. Apakah peranan stress test ini dalam pengujian
terhadap web server, tentu saja menjadi hal yang menarik untuk diketahui lebih dalam.

1
1.2 Rumusan Masalah
Apakah stress test, bagaimana penerapannya? Mengapa perlu dilakukan stress
test? Apakah pada setiap software / aplikasi baru perlu dilakukan stress test? Demikianlah
pertanyaan-pertanyaan itu akan menjadi bahan pembahasan dalam Laporan ini.

1.3 Tujuan Penulisan


Adapun tujuan dalam Laporan ini adalah sebagai berikut:
1. Mengetahui dan memahami lebih dalam mengenai stress test.
2. Mengetahui salah satu cara penerapan stress test dalam web server.
3. Melakukan kajian dan analisa dari penerapan stress test pada sebuah web
server.

1.4 Ruang Lingkup Kajian


Mengetahui pengertian dan tujuan dari stress test. Memberikan contoh penerapan
stress test pada salah satu web server di Ezeelink.

1.5 Sistematika Penulisan


Laporan ini disusun dalam beberapa bagian, antara lain sebagai berikut:
a. Bab I Pendahuluan
Bagian ini berisikan latar belakang, tujuan penulisan, rumusan masalah, ruang
lingkupkajian, dan sistematika penulisan.
b. Bab II Pembahasan
Bagian ini terdiri dari pembahasan tema pokok dari Laporan ini, yakni mengenai
apa yang dimaksud dengan stress test itu sendiri, dan pengenalan mengenai JMeter.
c. Bab III Analisa
Pada bagian ini penulis akan menganalisa cara pengoperasian pada JMeter.
d. Bab IV Penutup
Bab ini merupakan bagian akhir dari Laporan ini yang berisikan kesimpulan dan
saran dari Laporan ini.

2
BAB II
LANDASAN TEORI

2.1 Pengertian Stress Test


Stress Test, dalam kaitannya dengan dunia Teknologi Informasi, ialah
salah satu jenis test yang dilakukan pada suatu aplikasi / software, biasanya
dilakukan pada aplikasi server (bisa juga dilakukan pada hardware), yang
dilakukan pada sebuah lingkungan yang memerlukan resources dalam jumlah
yang tidak normal, baik dari segi frekuensi maupun volume.
Test ini biasanya dilakukan untuk mengetahui ketahanan dari sebuah
aplikasi (ataupun hardware) dengan melakukan hal yang tidak normal dilakukan
oleh user biasa terhadap aplikasi / software (atau hardware) tersebut.
Tujuan dilakukannya stress test adalah untuk memperkirakan jumlah
maksimum load yang dapat disupport oleh webserver tertentu.

2.2 Pengenalan Terhadap JMeter 5


JMeter merupakan salah satu jenis tool yang dapat digunakan untuk
melakukan stress test terhadap aplikasi webserver yang ada.
Sistem requirement pada JMeter antara lain:
Centos 6 (Workstation ataupun Server)
Centos 6 64bit
Sebagai tambahan, jaringan berdasar TCP/IP dan mesin test client yang
handal juga dibutuhkan.
JMeter 5 dapat digunakan:
 Ketika kondisi load jaringan yang lebih dari 500 MBit/s.
 Mengunjungi lebih dari 40.000-60.000 request web per detiknya.
Meski begitu, kondisi load sebenarnya tergantung pada network
infrastruktur, client/server hardware, ukuran files dan aplikasi web yang diuji.
Selain digunakan untuk stress test, JMeter 5 juga dapat digunakan untuk
beberapa jenis test lain, seperti Performance Tests, Load Tests, Ramp Tests.

3
2.3 Elemen-elemen Pengujian pada JMeter 5
Beberapa elemen pengujian yang ada pada JMeter 5 antara lain:
 Time for DNS
Waktu untuk memecah URL domain name menggunakan sistem client
DNS server yang terkonfigurasi.
 Time to connect
Waktu untuk membuat koneksi ke server.
 Time to first byte (TFB)
Waktu antara menginisiasi sebuah request dan menerima data byte
pertama dari server.
 Request Time (TLB, Time to last Byte)
Waktu untuk sebuah HTTP Request(contoh frames, images, halaman
HTML, dll.)
 User/Server Bandwith
Jumlah bandwith yang dapat digunakan oleh user/server.
 Sent Request
Jumlah request yang dikirim ke server dalam satu waktu.
 Received Request
Jumlah jawaban / respon yang dikirim oleh server dalam satu waktu.
 Open Request
Jumlah open request dalam waktu tertentu.
 Error rates
Jumlah request yang gagal per satuan waktu, per user, ataupun per URL.

4
2.4 Bentuk Laporan dalam JMeter 5
Beberapa jenis laporan yang dapat langsung dihasilkan oleh JMeter 5 di
antaranya:
Grafik
Summary Log, terdiri dari waktu dan tanggal pengujian, hasil singkat dari
keseluruhan waktu uji, hasil singkat dari keseluruhan pengujian, dan
glossary.
Detailed Log, terdiri dari test setup data(URLs, jumlah user, dll.), proses
informasi pengujian(penungguan waktu), hasil detail dari keseluruhan
waktu uji, request-request yang gagal, hasil detail dari keseluruhan
pengujian, glossary, lokasi di mana log file tersimpan.
User Log untuk masing-masing user, teridiri dari aktivitas log dan data
seluruh click, request, dll., Time to first byte, Time to connect and data-
data sejenis untuk tiap request, HTML data, cookie data, image URLs dan
frames URLs.
Machine readable request log (CSV)
Raw graph data (CSV)

5
2.5 Konfigurasi pada JMeter 5
Beberapa konfigurasi umum yang ada pada JMeter 5 adalah:

2.5.1 Pemilihan Jenis Test dan Jumlah User

JMeter dapat mendukung beberapa jenis Test Plan , setiap 1 Test Plan Terdiri
beberapa komponen test:
Number Of Thread : “menginisiasi jumlah request. Merupakan pilihan yang
baik untuk menguji seberapa Banyak request per Detik.
Duration : pengujian yang berjalan dalam jumlah detaik yang telah
ditentukan.
RAMP Up-Period: Ramp tests juga berjalan pada waktu yang telah
ditentukan, tetapi dengan menyertakan peningkatan load dari 1
request ke jumlah request tertentu yang mencapai 80% dari jumlah
wajtu test. Menjelang 20% sisa waktu, keseluruhan jumlah request
akan aktif. Ramp Test adalah cara yang baik untuk menemukan
batasan dari webserver atau aplikasi web.

6
Simulasi user, digunakan untuk menentukan jumlah request yang aktif
pada saat pengujian berlangsung. Jumlah request dapat bernilai antara 1 sampai
60.000. Nilai Click Delay juga harus dimasukkan untuk user yang aktif. Semakin
kecil nilai yang ditentukan, semakin besar level stress yang dilakukan pada
webserver.
Project scenario, comment, operator, dapat digunakan untuk memasukkan
informasi tentang pengujian yang dilakukan. Comment ini akan dimasukkan ke
laporan.

7
2.5.2 Pengaturan URLs Request dan Parameter

Pemilihan Konfigurasi URL Request, ada 6 Utama pilihan:


 Http Protokol: webserver akan memilih salah satu Protokol Internet untuk
masing-masing jeni Port server .
 Server Name /Ip Server: masing-masing Server memiliki nama user dan Ip
server.
 Port Number: Pengaturan Port Number server sesuai port app server yang akan
di uji stress test.
 HTTP Request : Pengaturan Jenis Http Request server sesuai jenis method htpp
request yang dibutuhkan app server yang akan di uji stress test.
 Path: Detail Path app server yang akan di uji stress test.
 Parameter /Body Data : Detail Data Body Data/ Parameter input yang
dibutuhkan app server yang akan di uji stress test.
.

BAB III

8
ANALISIS

3.1 Skenario Pengujian


Sebagai contoh penerapan penggunaan JMeter 5, dilakukan pengujian terhadap
sebuah Webapi REST pada Ezeetunai API. Pengujian diset untuk 60000 request
secara bersamaan melakukan login reuest dan check balance request dengan delay
(selisih waktu ) adalah nol. Hal ini berarti 60000 request melakukan login dalam
waktu bersamaan. Jenis test yang dilakukan adalah dengan melakukan login terus
menerus dalam waktu 1 menit.

Implementasi Pengujian

Langkah-langkah yang dilakukan adalah:


a. Melakukan konfigurasi test pada halaman JMeter 5 dengan data:
 Jenis test adalah Request Test dengan 60000 request waktu uji ramp dalam
1 menit.
 Jumlah request yang melakukan login adalah 60000 request.
 Memasukkan URL 172.18.95.54 port 8830 dengan data username = test
dan password = test. Ketika memasukkan data yang akan digunakan untuk
login, pengguna JMeter 5 harus mencocokkan nama field yang digunakan
untuk menerima inputan username dan password.
 Memulai pengujian dengan menekan start test.
b. Menunggu sampai pengujian selesai dan laporan hasil pengujian keluar.
Berikut merupakan gambar yang menunjukkan halaman log pada JMeter 5
ketika pengujian berlangsung:

9
10
3.2 Hasil Pengujian
Ketika pengujian selesai, maka akan muncul log report mengenai hasil
pengujian yang dilakukan. Report yang penulis pilih yaitu report pada halaman
HTML secara langsung. Ada beberapa hal yang langsung dapat dilihat pada report
berbentuk HTML tersebut,diantaranya:
 APDEX (Application Performance Index) Hasil yang terdiri dari Hasil
Performa Hardware/Software dalam bentuk waktu Hitungan response
time.
 Request Summart merupakan dalam bentuk diagram Pie yang
menampilkan Berapa Persen Request Yang sukses dan berapa persen
Request yang gagal .
 Statistics, dari masing-masing data statistic request dalam table format
statistic data.
 Data error merupakan data error yang terjadi pada hardware/software
yang menyebabkan Request yang gagal mendapat response ekseskusi
sukses
Beberapa yang dianggap mewakili keseluruhan report hasil dari pengujian
yang akan penulis bahas antara lain:
a. Grafik Request Requests Summary.

11
Grafik/Gambar ini menunjukkan jumlah request yang dapat dilayani, jumlah
request dikirim dan diterima dalam hal perbandingannya dengan trafik network. Dari
grafik/tabel statistik tersebut dapat kita lihat, terlihat dari pie chart yang berwarna hijau,

12
menghasilkan report sukses 100% . Sementara jumlah request yang dapat dilayani relatif
teratur sejak waktu dimulainya test, hal ini dapat dilihat dari data yang ada pada table
statistik dan data tabel APDEX yang berjalan lancar hanya dalam waktu 500ms dengan
tabel statistik jumlah request sebanyak 1788 dalam per 1 ms.

Grafik Response Time Graph untuk Proses Login ini menunjukkan jumlah waktu
rata-rata request menunggu request untuk diproses, kesuksesan per requestnya. Dari
grafik di atas, dapat dilihat tingkat kesuksesan tiap request semakin meningkat seiring
dengan semakin lamanya waktu test dilaksanakan, untuk semua request, dan untuk setiap
ramp yang dilakukan. Terlihar response Server /software Semakin meningkat responsif
memproses 9.000 0milestone request milestone dalam waktu 50 detik, untuk memproses
login request secara bersamaan.

13
Grafik Response Time Graph untuk Proses Check balance ini menunjukkan
jumlah waktu rata-rata request menunggu request untuk diproses, kesuksesan per
detiknya, dan user per requestnya. Dari grafik di atas, dapat dilihat tingkat kesuksesan
saat awal mileston semakin meningkat kemudian tiap request semakin menurun seiring
dengan semakin lamanya waktu test dilaksanakan, untuk semua request, dan untuk setiap
ramp yang dilakukan. Terlihar response Server /software Semakin meningkat responsif
memproses rata rata 24.000 request milestone dalam waktu 50 detik, untuk memproses
Check Balance secara bersamaan.

14
BAB IV
PENUTUP

4.1 Kesimpulan
 Stress test merupakan salah satu jenis pengujian yang dilakukan pada software,
biasanya dilakukan pada server, ataupun bias juga dilakukan pada hardware,
untuk mengetahui batas maksimum ketahanan dari software / hardware tersebut.
Pengujian ini biasanya dilakukan dengan melakukan hal yang tidak biasa pada
object pengujian, misalnya user dalam jumlah yang sangat besar mengakses
aplikasi sama dalam waktu yang bersamaan, memberikan jumlah load yang
sangat tinggi, dan lain-lain.
 Stress test sebaiknya dilakukan pada aplikasi yang berbasis server, untuk
mengetahui ketahanan dari aplikasi tersebut, dan melakukan perbaikan seperlunya
sebelum aplikasi dideploy.
 JMeter 5 merupakan salah satu jenis tool untuk melakukan stress test terhadap
webserver. Tool ini memungkinkan penggunaan mencapai 60000 request secara
bersamaan, dan memiliki jenis report dalam bentuk grafik, log, HTML, file word,
dll.

4.2 Saran
Menambahkan Core CPU dan menambah kekuatan Cpu , karena Stress test lebih
berpengaruh kepada performance CPU.

15

Anda mungkin juga menyukai