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