Stress Test.docx
-
Upload
angger-eka-rahmania -
Category
Documents
-
view
415 -
download
9
description
Transcript of Stress Test.docx
1
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. Makalah
ini akan menjelaskan mengenai stress test dan bagaimana contoh penerapannya yang
dilakukan pada salah satu web server di Indonesia 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.
2
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 makalah ini.
1.3 Tujuan Penulisan
Adapun tujuan dalam penulisan makalah 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 Indonesia.
1.5 Sistematika Penulisan
Makalah 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 makalah ini, yakni mengenai
apa yang dimaksud dengan stress test itu sendiri, dan pengenalan mengenai Webserver
stress tool.
c. Bab III Analisa
Pada bagian ini penulis akan menganalisa cara pengoperasian pada Webserver
Stress Tool.
d. Bab IV Penutup
Bab ini merupakan bagian akhir dari makalah ini yang berisikan kesimpulan dan
saran dari makalah ini.
3
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 Webserver Stress Tool 7
Webserver Stress Tool merupakan salah satu jenis tool yang dapat
digunakan untuk melakukan stress test terhadap aplikasi webserver yang ada.
Sistem requirement pada Webserver Stress Tool antara lain:
Windows 2000 (Workstation ataupun Server)
Windows XP (32bit dan 64bit)
Windows 2003 Server
Windows Vista
dapat digunakan pada versi 32bit dan 64bit
Sebagai tambahan, jaringan berdasar TCP/IP dan mesin test client yang
handal juga dibutuhkan.
Webserver Stress Tool 7 dapat digunakan:
Ketika kondisi load jaringan yang lebih dari 500 MBit/s.
Mengunjungi lebih dari 1.000.000 halaman web per jamnya.
Akses oleh 10.000 user secara bersamaan.
4
Meski begitu, kondisi load sebenarnya tergantung pada network
infrastruktur, client/server hardware, ukuran files dan aplikasi web yang diuji.
Selain digunakan untuk stress test, Webserver Stress Tool 7 juga dapat
digunakan untuk beberapa jenis test lain, seperti Performance Tests, Load Tests,
Ramp Tests.
2.3 Elemen-elemen Pengujian pada Webserver Stress Tool 7
Beberapa elemen pengujian yang ada pada Webserver Stress Tool 7 antara lain:
Click Time
Click time di sini dimaksudkan ketika user melakukan click mouse untuk
mengirim request pada website tertentu, baik itu mungkin berupa redirect,
frames, maupun image(jika ada). Click time dihitung sebagai waktu antara
user melakukan click dan ketika server menerima request dengan segala
items yang dimaksud.
Average Clik Time
Nilai rata-rata per URL, per user, ataupun per website.
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.
5
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.
2.4 Bentuk Laporan dalam Webserver Stress Tool 7
Beberapa jenis laporan yang dapat langsung dihasilkan oleh Webserver Stress
Tool 7 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)
2.5 Konfigurasi pada Webserver Stress Tool 7
Beberapa konfigurasi umum yang ada pada Webserver Stress Tool 7 adalah:
6
2.5.1 Pemilihan Jenis Test dan Jumlah User
Webserver Stress Tool dapat mendukung 3 jenis test:
CLICKS: pengujian selsesai ketika masing-masing user telah menginisiasi
jumlah click. Merupakan pilihan yang baik untuk menguji URLs
yang berurutan.
TIME: pengujian yang berjalan dalam jumlah menit yang telah ditentukan.
Pengujian ini sering dilakukan untuk “burn in tests”, contohnya
untuk membiarkan server berada pada full load sepanjang 10 jam.
RAMP: Ramp tests juga berjalan pada waktu yang telah ditentukan, tetapi
dengan menyertakan peningkatan load dari 1 user ke jumlah user
tertentu yang mencapai 80% dari jumlah wajtu test. Menjelang 20%
sisa waktu, keseluruhan jumlah user akan aktif. Ramp Test adalah
cara yang baik untuk menemukan batasan dari webserver atau
aplikasi web.
7
Simulasi user, digunakan untuk menentukan jumlah user yang aktif pada
saat pengujian berlangsung. Jumlah user dapat bernilai antara 1 sampai 10.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.
2.5.2 Penggunaan URLs Sequence yang Sederhana
Pemilihan URL Sequencing, ada 4 pilihan:
Users select URL for each click randomly: webserver akan memilih salah satu
URL untuk masing-masing click secara acak.
Users always click the same URL: masing-masing user memilih sebuah URL
dan click hanya URL selama pengujian.
Users follow complete sequence: semua user akan menggunakan pilihan URL
sesuai dengan urutan.
8
Users visit first X URLs, then random, then last X URLs: semua user akan
menggunakan URL pertama yang dispesifikasikan, kemudian URL berikutnya
adalah URL yang dipilih secara acak.
URL Recorder, digunakan untuk melakukan pencatatan secara otomatis
terhadap URL-URL yang dikunjungi.
2.5.3 Pengaturan Parameter Browser
Webserver Stress Tool mensimulasikan sebuah browser dari sudut
pandang server, tetapi tidak mensimulasikan mengubah client scree atau
mengeksekusi client side scripts.
Jika ada proxy server, Pilih Proxy Server dan masukkan alamat dan port
dari proxy. Jika proxy membutuhkan autentikasi, pilih Use Proxy User dan
masukkan username dan password. User agent string dapat dikirim ke server
ketika User Agent dipilih. Untuk menambahkan parameter ke HTTP request
header, aktifkan Addtl. Headers dan masukkan data. Use Timeout dapat
digunakan untuk menentukan maksimum timeout untuk penyelesaian HTTP
request. Nilai yang dimasukkan adalah dalam detik. Untuk membatasi data rate,
9
masukkan nilai dalam kbit/s pada Simulate Maximum Data Rate for Client.
Jika webserver / aplikasi web membutuhkan cookies, pilih enable cookies.
Cookies-cookies tersebut akan ditunjukkan pada detailed log ketika Show
Cookies in Log dipilih.
10
BAB III
ANALISIS
3.1 Skenario Pengujian
Sebagai contoh penerapan penggunaan Webserver Stress Tool 7, dilakukan
pengujian terhadap sebuah halaman login pada aplikasi webserver
FormulaBisnis.com. Pengujian diset untuk 40 user secara bersamaan melakukan login
dengan click delay (selisih waktu antar click) adalah nol. Hal ini berarti 40 user
melakukan login dalam waktu bersamaan. Jenis test yang dilakukan adalah dengan
melakukan login terus menerus dalam waktu 5 menit, yaitu dengan memilih opsi
Time Test pada Select Test Type and Number of Users.
3.2 Implementasi Pengujian
Langkah-langkah yang dilakukan adalah:
a. Melakukan konfigurasi test pada halaman webserver stress tool 7 dengan data:
Jenis test adalah Time Test dengan waktu uji sepanjang 5 menit.
Jumlah user yang melakukan login adalah 40 user.
Memasukkan URL www.formulabisnis.com/mbr.php dengan data
username = ekaridzyu dan password = kitasukses. Ketika memasukkan
data yang akan digunakan untuk login, pengguna Webserver Stress Tool 7
harus mencocokkan nama field yang digunakan untuk menerima inputan
username dan password. Untuk itu kita perlu melakukan view source code
pada halaman login formulabisnis, dan mencari nama field tersebut.
11
b. Memulai pengujian dengan menekan start test.
c. Menunggu sampai pengujian selesai dan laporan hasil pengujian keluar.
Berikut merupakan gambar yang menunjukkan halaman log pada Webserver
Stress Tool 7 ketika pengujian berlangsung:
3.3 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:
Settings yang terdiri dari Test Configuration dan URL.
Results and Graphs yang terdiri dari Click Times and Errors, Click
Time, Hit/s, & Click/s, Protocol Times, Hierarchy, Open Request &
12
Traffic, Test Client Health, Volume and Bandwith, Click Time
Spectrum, Results per User, Results per URL.
Log files yang terdiri dari Detailed Log.txt, Summary Log.txt, dan log
dari masing-masing user dalam bentuk file text.
Karena banyaknya hasil dari pengujian di atas, maka penulis hanya akan
membahas hasil dari graphic yang dianggap mewakili keseluruhan report hasil dari
pengujian. Beberapa graphic yang akan penulis bahas antara lain:
a. Grafik Request dan Data yang Ditransfer.
Grafik ini menunjukkan jumlah request yang dapat dilayani, jumlah request
dikirim dan diterima dalam hal perbandingannya dengan trafik network. Dari grafik
tersebut dapat kita lihat, jumlah request yang dikirim dan diterima dari waktu ke waktu
sejak test dimulai mengalami penurunan, terlihat dari garis yang berwarna hijau, dengan
perbandingan waktu berposisi pada garis horizontal. Sementara jumlah request yang
dapat dilayani relatif teratur sejak waktu dimulainya test, hal ini dapat dilihat dari garis
merah yang ada pada grafik. Bandwith selama test adalah konstan, bernilai 0
kbit/seconds.
13
b. Grafik Jumlah Klik, User, dan Hit
Grafik ini menunjukkan jumlah waktu rata-rata seorang user menunggu request
untuk diproses, kesuksesan per detiknya, dan user per kliknya. Dari grafik di atas, dapat
dilihat tingkat kesuksesan tiap klik semakin menurun seiring dengan semakin lamanya
waktu test dilaksanakan, untuk semua user, dan untuk setiap klik yang dilakukan.
c. Grafik Data yang Ditransfer, Sistem Memori, dan Load CPU
14
Grafik di atas menjelaskan bahwa jumlah CPU Load adalah konstan sejak
dimulainya test yaitu mencapai 100 %. Sementara system memori memiliki nilai
fluktuatif yang tinggi, dari awal test dilaksanakan hingga akhir test.
Meskipun masih banyak grafik lain dari hasil pengujian, namun ketiga grafik di
atas dianggap sudah mewakili hasil dari grafik yang lain, dikarenakan bagaimana
ketahanan dari aplikasi webserver formula bisnis telah dapat ditinjau dari jumlah user,
jumlah kesuksesan pada waktu user akses, jumlah bandwith, dll. Melihat hasil ketiga
grafik di atas, dapat disimpulkan bahwa ketahanan webserver formula bisnis masih
kurang bagus. Terlihat dengan tingkat kesuksesan yang senantiasa menurun sejak awal
dilakukannya test sampai test selesai. Selain itu, jumlah request yang dapa dilayani dari
waktu ke waktu sangat flluktuatif, padahal seharusnya nilainya konstan, yang
menunjukkan bahwa webserver dapat siap setiap saat melayani request dari client,
dengan tingkat kesiapan yang sama di setiap waktunya.
15
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.
Webserver Stress Tool 7 merupakan salah satu jenis tool untuk melakukan stress
test terhadap webserver. Tool ini memungkinkan penggunaan mencapai 1000 user
secara bersamaan, dan memiliki jenis report dalam bentuk grafik, log, HTML, file
word, dll.
4.2 Saran
Bagi para pengembang aplikasi berbasis web, dianjurkan untuk melakukan stress
test terhadap server dari aplikasi tersebut, agar hal-hal yang tidak diinginkan seperti
kerusakan server dan lain-lain tidak perlu terjadi.