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.
layanan untuk pengguna terputus. Hal ini
PENDAHULUAN Perkembangan teknologi yang semakin cepat, membuat kebutuhan akan komunikasi
dan
informasi
menjadi
dapat menyebabkan pengguna merasa tidak nyaman, apalagi saat pengguna sedang melaqkukan aktifitas penting. Penggabungan beberapa server
kebutuhan pokok kehidupan sehari-hari. Semakin banyak orang yang mengakses informasi melalui internet, menyebabkan web server bekerja lebih berat dan
Oleh sebab itu, maka dibutuhkan server yang mampu bekerja dengan baik memberikan
layanan
bisa
digunakan
untuk
mengatasi
permasalahan tersebut karena teknik ini bekerja dengan cara membagi beban
kinerjanya kurang optimal.
dalam
(cluster) dengan teknik Load Balance,
kepada
pengguna, meskipun request dan beban yang diterima oleh server semakin
yang diterima oleh server dan ketika salah
satu
server
mengalami
kegagalan(down), maka anggota cluster yang lain akan melayani permintaan dari pengguna.
bertambah. Cara yang paling mudah TINJAUAN PUSTAKA 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
Asyanto(2011) perancangan
dan
melakukan
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,
Palembang.
menggunakan PPIDOO Network Life
perancangan dan implementasi, kinerja
Circle sebagai metode pengembangan
web server meningkat 4 kali lipat. Hal
sistem. Berdasarkan pengujian dengan
ini membuktikan bahwa Load Balancing
parameter throughput dan waktu respon,
bisa diterapkan untuk meningkatkan
didapatkan bahwa penggunaan
performa web server.
server
LVS lebih baik daripada server tunggal. Saputra(2012) perancangan
dan
melakukan
implementasi
web
Setelah
Akhyar(2013)
dilakukan
menerapkan
metode load balancing menggunakan Apache Tomcat untuk meningkatkan
server load balancing menggunakan
kinerja
HAProxy, Pengujian dilakukan dengan
UNSIYAH.
cara membandingkan server tunggal
implementasi
dengan server cluster menggunakan
ketersediaan web server yang selalu aktif
awstat, webalizer dan goaccess sebagai
atau ketika salah satu web server
web analyzer. Berdasarkan pengujian,
mengalami kegagalan maka web server
server
lain
cluster
bekerja
lebih
cepat
dibanding server tunggal. Dan ketika
yang
server
KRS
Online
Setelah
dilakukan
dan
pengujian,
masih
aktif
akan
mengatasinya.
salah satu server mengalami kegagalan, layanan tetap tersedia
web
Eludiora,
dkk(2010)
menggunakan strategi LDMA (Load
Margono, dkk(2013) melakukan
Balancing using Decentralized decision-
perancangan dan implementasi Load
making
Balancing pada web server berbasis
memungkinkan setiap server memproses
Cloud
permintaan client.
pada
kantor
DPRD
kota
Mobile
Agent)
yang
Setelah dilakukan
implementasi dan pengujian, web server dengan
Load
kinerja
yang
Balancer lebih
dan
Mengumpulkan data. Tahap ini
mempunyai
peneliti mengumpulkan data-data
dibanding
yang diperlukan, pengumpulan data
baik
dilakukan dengan metode literature.
dengan web server tunggal. Singh
2.
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
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
server tunggal.
dengan performa bagus memiliki harga mahal, selain itu masih ada METODE PENELITIAN kemungkinan 1.
Mulai
dari
Tahap ini
analisis
kebutuhan.
peneliti menganalisis
kegagalan
server
mengalami
(down)
sehingga
mengganggu
aktifitas
kebutuhan seperti Hardware dan
Penggabungan
server
Software
yang
dengan teknik Load Balance bisa
penelitian
mengatasi permasalahan tersebut.
serta
berhubungan yang dilakukan.
informasi
dengan
client. (cluster)
Dengan teknik ini, saat salah satu server mengalami kegagalan (down)
3.
maka server lain akan melayani
peneliti akan diuji. Jika pengujian
secara otomatis tanpa disadari oleh
sistem belum berjalan dengan baik,
client.
maka
Perancangan sistem. Pada tahap ini,
perbaikan atau pembuatan ulang
peneliti membuat desain sistem
sistem sampai pengujian berjalan
yang akan dibuat oleh peneliti.
dengan baik.
Permintaan
dari
client
akan
6.
peneliti
Analisis.
akan
melakukan
Pada tahap ini, peneliti
disalurkan ke server dan beban akan
memenganalisa hasil dari pengujian
dibagi oleh Load Balancer.
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 Gambar 1 Desain Sistem 4.
5.
pengujian untuk mengetahui apakah web
Pembuatan sistem. Pada tahap ini,
server anggota cluster yang masih aktif
peneliti
sistem
akan melayani client jika anggota cluster
berdasarkan data dan kebutuhan
yang lain mengalami kegagalan(down).
yang telah didapatkan.
Pengujian
Pengujian Sistem. Pada tahap ini,
menonaktifkan salah satu atau dua
sistem
anggota
membuat
yang
telah
dibuat
oleh
dilakukan
cluster,
dengan
kemudian
mengaksesnya Bedasarkan
melalui pengujian
brower. yang
Tabel 1 Error dan Rata-rata Waktu Respon pada Load Balancer
telah Pound
HAProxy
dilakukan, Pound dan HAProxy load Balancer dapat meningkatkan layanan
Clie nt
web server dengan ketersediaan yang tinggi(high availability) Pengujian
dengan
Webserver
500 1000 2000
Err ors 0 1 10
Ratarata waktu respo n [ms] 24 139 358
Err ors
Rata-rata waktu request [ms]
0 1 17
16 119 237
Stress Tool 8 dilakukan terhadap kedua Load
Balancer,
Tester
yang
induk
yang
diketahui bahwa bahwa error terjadi 1
digunakan untuk membuat mesin virtual.
kali saat pengujian dengan 1000 client
Hasil
Webserver
dan saat pengujian dengan 2000 client,
Stress Tool 8, mensimulasikan beberapa
pada Pound mengalami 17 kali error,
client
dan setiap client mengaksesnya
sedangkan pada HAProxy mengalami 10
100 kali dengan waktu delay 3 detik
kali error. Rata-rata waktu respon pada
terhadap web server dengan Pound dan
kedua Load Balancer
HAProxy Load Balancer. Berdasarkan
perbedaan yang cukup signifikan. Rata-
pengujian,
rata waktu respon pada percobaan
digunakan
adalah
pengujian
berikut :
PC PC
dengan
didapatkan
data
sebagai
Berdasarkan
Tabel
1,
dapat
menunjukkan
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
kbit/s, sedangkan pada HAProxy adalah
pada Pound adalah 139 ms, sedangkan
256,14 kbit/s. Kecepatan transfer data
pada HAProxy adalah 119 ms. Dan rata-
pada percobaan kedua dengan 1000
rata waktu
client dan 100 request untuk setiap client
respon pada percobaan
ketiga dengan 2000 client dan 100
pada
request untuk setiap client pada Pound
sedangkan pada HAProxy adalah 33,72
adalah
kbit/s. Dan kecepatan transfer data pada
358
ms,
sedangkan
pada
Tabel 2 Kecepatan Transfer Data pada Load Balancer
Clie nt
500 1000 2000
Reque st/Clie nt
100 100 100
Kecepatan Transfer Data (kbit/s) 172,04 28,84 11,56
adalah
28,84
kbit/s,
percobaan ketiga dengan 2000 client dan
HAProxy adalah 237 ms.
Pound
Pound
HAProx y Kecepata n Transfer Data (kbit/s) 256,14 33,72 16,79
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 :
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
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 respon
menunjukkan yang
lebih
waktu 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
dengan Pound.
cepat
dibandingkan
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