Top Banner
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
22

Stress Test.docx

Nov 29, 2015

Download

Documents

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
Page 1: 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.

Page 2: Stress Test.docx

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.

Page 3: Stress Test.docx

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.

Page 4: Stress Test.docx

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.

Page 5: Stress Test.docx

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:

Page 6: Stress Test.docx

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.

Page 7: Stress Test.docx

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.

Page 8: Stress Test.docx

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,

Page 9: Stress Test.docx

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.

Page 10: Stress Test.docx

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.

Page 11: Stress Test.docx

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 &

Page 12: Stress Test.docx

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.

Page 13: Stress Test.docx

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

Page 14: Stress Test.docx

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.

Page 15: Stress Test.docx

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.