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
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.
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 lama-kelamaan 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, didapatkan bahwa penggunaan server LVS lebih baik daripada server tunggal.
Saputra(2012) melakukan 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 Cloud pada kantor DPRD kota
Palembang. Setelah dilakukan perancangan dan implementasi, kinerja web server meningkat 4 kali lipat. Hal ini membuktikan bahwa Load Balancing bisa diterapkan untuk meningkatkan performa web server.
Akhyar(2013) menerapkan metode load balancing menggunakan 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
decision-making Mobile Agent) yang
memungkinkan setiap server memproses 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.
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
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
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
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 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 terhadap web server dengan Pound dan HAProxy Load Balancer. Berdasarkan pengujian, didapatkan data sebagai berikut :
Tabel 1 Error dan Rata-rata Waktu Respon pada
Load Balancer Clie nt Pound HAProxy Err ors Rata-rata waktu respo n [ms] Err ors Rata-rata waktu request [ms] 500 0 24 0 16 1000 1 139 1 119 2000 10 358 17 237
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 kedua Load Balancer menunjukkan perbedaan yang cukup signifikan. Rata-rata 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 pada HAProxy adalah 119 ms. Dan rata-rata waktu respon pada percobaan 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 Clie nt Reque st/Clie nt Pound HAProx y Kecepatan Transfer Data (kbit/s) Kecepata n Transfer Data (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 setiap client pada Pound adalah 172,04
kbit/s, sedangkan pada HAProxy adalah 256,14 kbit/s. Kecepatan transfer data pada percobaan kedua dengan 1000 client dan 100 request untuk setiap client 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
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