IMPLEMENTASI WEB SERVER LOAD BALANCING PADA MESIN VIRTUAL MAKALAH PROGRAM STUDI INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA Diajukan oleh : Handoko Yoga Hartomo Ir. Bana Handaga, M.T., Ph.D. PROGRAM STUDI INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH SURAKARTA JUNI 2015
IMPLEMENTASI WEB SERVER LOAD BALANCING PADA MESIN VIRTUAL ABSTRAK Perkembangan teknologi yang semakin cepat, membuat kebutuhan komunikasi dan informasi menjadi kebutuhan pokok kehidupan sehari-hari. Semakin banyak yang mengakses melalui internet, menyebabkan web server bekerja lebih berat dan kinerjanya kurang optimal. Penggabungan beberapa server(cluster) dengan teknik Load Balance, bisa digunakan untuk mengatasi permasalahan tersebut karena teknik ini bekerja dengan membagi beban yang diterima oleh server dan ketika salah server mengalami kegagalan, maka anggota cluster yang aktif akan melayani permintaan dari client. Penelitian ini bertujuan untuk membuat web server dengan teknik Load Balance pada mesin virtual. Aplikasi yang digunakan dalam penelitian ini adalah VMware, Ubuntu Server 14.10, Pound, HAProxy, dan Webserver Stress Tool 8. Pengujian yang dilakukan adalah pengujian availability dan pengujian dengan Webserver Stress Tool 8. Berdasarkan pengujian availability, web server anggota cluster yang aktif dapat melayani client ketika salah satu web server mengalami kegagalan. Berdasarkan pengujian menggunakan Webserver Stress Tool 8, rata-rata waktu respon pada Pound dan HAProxy Load Balancer, menunjukkan hasil yang berbeda. Berdasarkan pengujian dengan Webserver Stress Tool 8, rata-rata waktu respon pada HAProxy menunjukkan waktu respon yang lebih cepat dibandingkan dengan Pound. Serta kecepatan transfer data pada HAProxy menunjukkan kecepatan yang lebih cepat dibandingkan pada Pound. Kata Kunci : Cluster, Load Balance, Virtualisasi, Web Server.
IMPLEMENTASI WEB SERVER LOAD BALANCING PADA MESIN VIRTUAL ABSTRACK Rapid technological development, making the need for communication and information become a staple of everyday life. More and more people are accessing information through the Internet, causing the web server to work harder and less than optimal performance. Merging multiple servers (clusters) with Load Balance technique, can be used to overcome these problems because this technique works by dividing the load received by the server and when one server fails, then the other cluster members will server requests from the client. This study aims to create a web server with Load Balance technique on the virtual machine. Applications used in this study is VMware, Ubuntu Server 14:10, Pound, HAProxy, and Webserver Stress Tool 8. This experiment is availability testing, and testing using Webserver Stress Tool 8. From the test Availability, web server cluster members can actively serve client when one of the web server failure. Of testing with Webserver Stress Tool 8, the average response time on the Pound and HAProxy Load Balancer show different results. Based on testing using the Web Server Stress Tool 8, the average response time on HAProxy showed a faster response time than the Pound. And the speed of data transfer on HAProxy showed a faster pace than the Pound. Keyword : Cluster, Load Balance, Virtualization, Web Server.
PENDAHULUAN Perkembangan teknologi yang semakin cepat, membuat kebutuhan akan komunikasi dan informasi menjadi kebutuhan pokok kehidupan sehari-hari. Semakin banyak orang yang mengakses informasi melalui internet, menyebabkan web server bekerja lebih berat dan kinerjanya kurang optimal. Oleh sebab itu, maka dibutuhkan server yang mampu bekerja dengan baik dalam memberikan layanan kepada pengguna, meskipun request dan beban yang diterima oleh server semakin bertambah. Cara yang paling mudah adalah menyediakan server yang handal, tetapi untuk mendapatkannya dibutuhkan biaya yang cukup besar. Selain itu, jika server yang melayani hanya satu maka beban yang diterima server lamakelamaan akan semakin berat. Hal itu dapat menyebabkan server mengalami kegagalan(down), sehingga semua layanan untuk pengguna terputus. Hal ini dapat menyebabkan pengguna merasa tidak nyaman, apalagi saat pengguna sedang melaqkukan aktifitas penting. Penggabungan beberapa server (cluster) dengan teknik Load Balance, bisa digunakan untuk mengatasi permasalahan tersebut karena teknik ini bekerja dengan cara membagi beban yang diterima oleh server dan ketika salah satu server mengalami kegagalan(down), maka anggota cluster yang lain akan melayani permintaan dari pengguna. TINJAUAN PUSTAKA Asyanto(2011) melakukan perancangan dan pembuatan Load Balance pada web server LEMIGAS, sehingga sistem yang dibuat mampu membagi beban kerja pada web server, memberikan ketersediaan, dan mengurangi waktu respon terhadap web
server LEMIGAS. Dalam penelitian ini, menggunakan PPIDOO Network Life Circle sebagai metode pengembangan sistem. Berdasarkan pengujian dengan parameter throughput dan waktu respon, Palembang. Setelah dilakukan perancangan dan implementasi, kinerja web server meningkat 4 kali lipat. Hal ini membuktikan bahwa Load Balancing bisa diterapkan untuk meningkatkan didapatkan bahwa penggunaan server performa web server. LVS lebih baik daripada server tunggal. Akhyar(2013) menerapkan Saputra(2012) melakukan metode load balancing menggunakan perancangan dan implementasi web server load balancing menggunakan HAProxy, Pengujian dilakukan dengan cara membandingkan server tunggal dengan server cluster menggunakan awstat, webalizer dan goaccess sebagai web analyzer. Berdasarkan pengujian, server cluster bekerja lebih cepat dibanding server tunggal. Dan ketika salah satu server mengalami kegagalan, layanan tetap tersedia Margono, dkk(2013) melakukan perancangan dan implementasi Load Balancing pada web server berbasis Apache Tomcat untuk meningkatkan kinerja web server KRS Online UNSIYAH. Setelah dilakukan implementasi dan pengujian, ketersediaan web server yang selalu aktif atau ketika salah satu web server mengalami kegagalan maka web server lain yang masih aktif akan mengatasinya. Eludiora, dkk(2010) menggunakan strategi LDMA (Load Balancing using Decentralized decisionmaking Mobile Agent) yang memungkinkan setiap server memproses Cloud pada kantor DPRD kota permintaan client. Setelah dilakukan
implementasi dan pengujian, web server dengan Load Balancer mempunyai kinerja yang lebih baik dibanding dengan web server tunggal. Singh dan Kumar (2011) mengevaluasi kinerja dan ketersediaan tinggi server merupakan faktor penting untuk mengatasi permasalahan performa server. Setelah dilakukan implementasi dan pengujian menggunakan parameter throughput dan kecepatan respon, web server dengan Load Balancer mampu bekerja lebih baik dibanding dengan web server tunggal. METODE PENELITIAN 1. Mulai dari analisis kebutuhan. Tahap ini peneliti menganalisis kebutuhan seperti Hardware dan Software serta informasi yang berhubungan dengan penelitian yang dilakukan. 2. Mengumpulkan data. Tahap ini peneliti mengumpulkan data-data yang diperlukan, pengumpulan data dilakukan dengan metode literature. Dengan metode literature, peneliti mengumpulkan data tentang web server berdasarkan buku-buku yang telah dipelajari untuk mendukung penelitian sampai dengan penyusunan laporan. Web server merupakan perangkat penting dalam layanan web, karena web server adalah pusat pemrosesan data atau penyedia layanan. Server tunggal dengan performa bagus memiliki harga mahal, selain itu masih ada kemungkinan server mengalami kegagalan (down) sehingga mengganggu aktifitas client. Penggabungan server (cluster) dengan teknik Load Balance bisa mengatasi permasalahan tersebut. Dengan teknik ini, saat salah satu server mengalami kegagalan (down)
maka server lain akan melayani secara otomatis tanpa disadari oleh client. 3. Perancangan sistem. Pada tahap ini, peneliti membuat desain sistem yang akan dibuat oleh peneliti. Permintaan dari client akan disalurkan ke server dan beban akan dibagi oleh Load Balancer. peneliti akan diuji. Jika pengujian sistem belum berjalan dengan baik, maka peneliti akan melakukan perbaikan atau pembuatan ulang sistem sampai pengujian berjalan dengan baik. 6. Analisis. Pada tahap ini, peneliti memenganalisa hasil dari pengujian sistem yang telah dilakukan. 7. Pembuatan laporan. Setelah semua selesai, maka peneliti membuat laporan berdasarkan penelitian yang telah dilakukan HASIL DAN ANALISIS Gambar 1 Desain Sistem 4. Pembuatan sistem. Pada tahap ini, peneliti membuat sistem berdasarkan data dan kebutuhan yang telah didapatkan. 5. Pengujian Sistem. Pada tahap ini, sistem yang telah dibuat oleh Pengujian availability merupakan pengujian untuk mengetahui apakah web server anggota cluster yang masih aktif akan melayani client jika anggota cluster yang lain mengalami kegagalan(down). Pengujian dilakukan dengan menonaktifkan salah satu atau dua anggota cluster, kemudian
mengaksesnya melalui brower. Bedasarkan pengujian yang telah dilakukan, Pound dan HAProxy load Balancer dapat meningkatkan layanan web server dengan ketersediaan yang tinggi(high availability) Pengujian dengan Webserver Tabel 1 Error dan Rata-rata Waktu Respon pada Load Balancer Clie nt Err ors Pound Ratarata waktu respo n [ms] Err ors HAProxy Rata-rata waktu request [ms] 500 0 24 0 16 1000 1 139 1 119 2000 10 358 17 237 Stress Tool 8 dilakukan terhadap kedua Load Balancer, PC Tester yang digunakan adalah PC induk yang digunakan untuk membuat mesin virtual. Hasil pengujian dengan Webserver Stress Tool 8, mensimulasikan beberapa client dan setiap client mengaksesnya 100 kali dengan waktu delay 3 detik Berdasarkan Tabel 1, dapat diketahui bahwa bahwa error terjadi 1 kali saat pengujian dengan 1000 client dan saat pengujian dengan 2000 client, pada Pound mengalami 17 kali error, sedangkan pada HAProxy mengalami 10 kali error. Rata-rata waktu respon pada terhadap web server dengan Pound dan kedua Load Balancer menunjukkan HAProxy Load Balancer. Berdasarkan pengujian, didapatkan data sebagai berikut : perbedaan yang cukup signifikan. Ratarata waktu respon pada percobaan pertama dengan 500 client dan 100 request untuk setiap client pada Pound adalah 24 ms, sedangkan pada HAProxy adalah 16 ms. Rata-rata waktu respon pada percobaan kedua dengan 1000
client dan 100 request untuk setiap client pada Pound adalah 139 ms, sedangkan kbit/s, sedangkan pada HAProxy adalah 256,14 kbit/s. Kecepatan transfer data pada percobaan kedua dengan 1000 pada HAProxy adalah 119 ms. Dan ratarata waktu respon pada percobaan client dan 100 request untuk setiap client ketiga dengan 2000 client dan 100 request untuk setiap client pada Pound adalah 358 ms, sedangkan pada HAProxy adalah 237 ms. Tabel 2 Kecepatan Transfer Data pada Load Balancer HAProx Pound y Reque Clie st/clie Kecepata nt Kecepatan nt n Transfer Transfer Data Data (kbit/s) (kbit/s) 500 100 172,04 256,14 1000 100 28,84 33,72 2000 100 11,56 16,79 Berdasarkan Tabel 2, dapat diketahui bahwa kecepatan transfer data pada kedua Load Balancer menunjukkan perbedaan yang signifikan. Kecepatan transfer data pada percobaan pertama dengan 500 client dan 100 request untuk pada Pound adalah 28,84 kbit/s, sedangkan pada HAProxy adalah 33,72 kbit/s. Dan kecepatan transfer data pada percobaan ketiga dengan 2000 client dan 100 request untuk setiap client pada Pound adalah 11,56 kbit/s, sedangkan pada HAProxy adalah 16,79 kbit/s. KESIMPULAN Berdasarkan pada pembahasan yang ada tentang Pound dan HAProxy Load Balancer,dapat ditarik kesimpulan sebagai berikut : 1. Mesin Virtual dapat digunakan untuk mengimplementasikan Load Balancing Cluster. 2. Pound dan HAProxy load Balancer dapat meningkatkan layanan web setiap client pada Pound adalah 172,04
server dengan ketersediaan tinggi (high availability) 3. Berdasarkan pengujian yang telah dilakukan, rata-rata waktu respon pada Pound dan HAProxy Load Balancer menunjukkan hasil yang berbeda. Berdasarkan pengujian menggunakan Web Server Stress Tool 8, rata-rata waktu respon pada HAProxy menunjukkan waktu respon yang lebih cepat dibandingkan Pound. 4. Berdasarkan pengujian yang telah dilakukan, kecepatan transfer data Pound dan HAProxy Load Balancer menunjukkan hasil yang berbeda. Berdasarakan pengujian menggunakan Web Server Stress Tool 8, kecepatan transfer data pada HAProxy menunjukkan kecepatan yang lebih cepat dibandingkan dengan Pound.
DAFTAR PUSTAKA Asyanto, Budi. 2011. Perancangan dan Pembuatan Load Balancing pada Clustering Web Server Menggunakan LVS(Studi Kasus : Web Server LEMIGAS). Skripsi.Jakarta: Fakultas Sains dan Teknologi Jurusan Teknik Informatika. Universitas Islam Negeri Syarif Hidayatullah. Eludiora, Abiona, Aderounmu, Oluwatope, Onime and Kehinde. 2010 "A Load Balancing Policy for Distributed Web Service" International Journal of Communications, Network and System Sciences, Vol. 3 No. 8, Hal. 645-654. Margono, Adriansah,dan Asribah. 2013. Analisis dan Perancangan Load Balancing pada Web Server Berbasis Cloud pada kantor DPRD Kota Palembang. Jurnal.Palembang : Jurusan Teknik Informatika. STIMIK PalComTech. Saputra, Ilham Bayu. 2012. Perancangan dan Implementasi Load Balancing Web Server Menggunakan HAProxy. Skripsi.Surakarta: Fakultas Komunikasi dan Informatika Jurusan Teknik Informatika. Universitas Muhammadiyah Surakarta. Singh dan Kumar. 2011. Dispatcher Based Dynamic Load Balancing on Web Server System International Journal of Grid and Distributed Computing. Vol.4 No.3 Hal. 89-016