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
makalah yang menjelaskan mengenai stress test sebagai tugas mata kuliah IT QA. Dalam makalah ini dijelaskan mengenai pengertian, guna, dan pelaksanaan contoh stress test menggunakan tool stress test dari Microsoft.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.