Wednesday, February 15, 2006

Benchmark Web

Benchmark web ternyata cukup berliku-liku. Teknik paling 'primitif' adalah adu kuat klien vs server dengan bantuan wget. Kelemahan utamanya adalah ketiadaan keepalive, sehingga klien mudah kehabisan port karena setiap sesi koneksi memakai satu port.

Sedikit meningkat, kita bisa manfaatkan ab (apache benchmark) yang memiliki fitur keepalive dan metoda POST. Cacah repetisi total dan jumlah konkurensi juga dapat diatur dengan mudah. Salah satu informasi yang disajikan ab cukup menarik adalah jumlah total byte yang ditransfer. Hal ini cukup membuka mata, bahwa tes adu kuat sangat memboroskan bandwidth: tes yang 'sekedar' mengakses halaman depan yang diulang ratusan ribu kali bisa jadi memindahkan data dalam orde giga byte hanya dalam beberapa menit. Kelihatannya perlu CGI sederhana yang menyisipkan sleep dalam orde detik untuk menekan kebutuhan bandwidth, ketika kita hanya ingin menguji berapa sesi paralel yang sanggup dilayani oleh sebuah aplikasi web.

Untuk menguji aplikasi web yang lebih rumit, kita bisa memakai jmeter. jmeter memakai java yang sangat terasa membutuhkan memori besar untuk mensimulasi sesi paralel. Satu hal yang cukup mengejutkan: jmeter yang dijalankan di atas Linux vs Windows XP tidak sebanding kinerjanya. Di Linux, sesi paralel maksimum yang berhasil dicapai sekitar 50, sedangkan di Windows XP bisa mencapai sekitar 100. Keduanya pada kondisi mesin dengan RAM 512MB. Perlu dicari tuning Linux yang bisa, paling tidak, menyetarakan keduanya. Fitur sangat menarik dari jmeter adalah kemampuannya merekam request-request dari sebuah browser ke server, kemudian kumpulan request tersebut dimain-ulangkan saat pengujian. Dengan cara ini, pembuatan skenario tes akan sangat mudah.

6 comments:

Yanti said...

Hi An,
Sorry nggak ada hubungan dgn tulisan mu. Just wanted to say hello. From your old good friend who lives in KL now...

Gin2 said...

Mas An, Saya Gin-gin dari SDA Asia Mag. Kemarin Mas Budi Rahardjo rekomen mas kepada kami untuk menjadi penulis tetap di majalah kami. Bisa konfirmasi ke email saya mas? gsatyanagara@sda-indo.com

Hanz Boer said...

Yuhuuu.. jadi penulis tetep euy! Dah, ambil aja... ntar nulis ttg perang kita di Blogskins ama top blogs lain di B$. :))

andika said...

emailmu apa Yanti? kontak aku di andika.at.gmail.dot.com please.

Abdul Fattah said...

kalo buat "website vulnerability tester" ada ga ya...?

Ady Wicaksono said...

thread java di linux memang kurang bagus, karena di windows java bisa pake green thread, akibatnya jelas lebih cepat. Saya gak tau detail jmeter ini, cuman sebenarnya kondisi ini bisa disiasati dengan mekanisme thread pool, tuning -Xmx -Xms, menurunkan nilai stack size thread. Gak tau detailnya, tp kira2 begitu :)