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. 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.

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. 2. 3. Mengetahui dan memahami lebih dalam mengenai stress test. Mengetahui salah satu cara penerapan stress test dalam web server. 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.

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.

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.

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 datadata 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:

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.

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.

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,

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.

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.

10

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 &

11

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.

12

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

13

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.

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. 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.

15