perancangan dan implementasi load balancing web … · 2020. 11. 3. · perancangan dan...

21
PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi Kasus di SMK Telekomunikasi Tunas Harapan Kab. Semarang Artikel Ilmiah Peneliti : Rizmi Amalia Aprilliandi (672015222) Rissal Efendi, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga 2019

Upload: others

Post on 26-Mar-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING

WEB SERVER MENGGUNAKAN HAProxy (High Availability

Proxy)

Studi Kasus di SMK Telekomunikasi Tunas Harapan

Kab. Semarang

Artikel Ilmiah

Peneliti :

Rizmi Amalia Aprilliandi (672015222)

Rissal Efendi, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

2019

Page 2: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING

WEB SERVER MENGGUNAKAN HAProxy (High Availability

Proxy)

Studi Kasus di SMK Telekomunikasi Tunas Harapan

Kab. Semarang

Artikel Ilmiah

Diajukan Kepada

Fakultas Teknologi Informasi

Untuk Memperoleh Gelar Sarjana Komputer

Peneliti :

Rizmi Amalia Aprilliandi (672015222)

Rissal Efendi, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

2019

Page 3: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi
Page 4: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi
Page 5: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi
Page 6: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi
Page 7: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi
Page 8: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

1

PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB

SERVER MENGGUNAKAN HAProxy (High Availability Proxy)

Studi Kasus di SMK Telekomunikasi Tunas Harapan

Kab. Semarang 1)

Rizmi Amalia Aprilliandi 2)

Rissal Efendi

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

Jl. Dr. O. Notohamidjojo, Salatiga 50714, Indonesia

E-mail : 1)

[email protected] 2)

[email protected]

Abstract This research discuss about plan and implement load balancing at SMK

Telekomunikasi Tunas Harapan. Load balancing is a way of calculating a balanced

server load on two or more server connection lines. Load balancing systems at SMK Telekomunikasi Tunas Harapan for CBT (Computer Based Test) activities in which the

web server will be accessed by 500 users, so reducing can be requested or the server will

even down download the web server that is accessed simultaneously. Load balancing is chosen because it is cheaper in terms of cost and more efficient than other methods. The

test results from the study showed% CPU, request time, and bandwidth between load

balancing and single servers had significant differences, and tested load balancing was more feasible to use.

Keyword: Load Balancing, 500 users, web server, % of CPU, Request Time,

Bandwidth

Abstrak Pada penelitian ini bertujuan untuk merancang dan mengimplmentasi load

balancing pada SMK Telekomunikasi Tunas Harapan. Load balancing merupakan suatu

cara mendistribusikan beban trafik server secara seimbang pada dua atau lebih jalur koneksi server. Sistem load balancing di SMK Telekomunikasi Tunas Harapan

dibutuhkan untuk kegiatan CBT (Computer-Based Test) yang dimana web server akan

diakses oleh 500 user, sehingga mengurangi terjadinya overload atau bahakan server

down apabila web server diakses secara bersamaan. Load balancing dipilih karena lebih murah dari segi biaya dan lebih efisien daripada metode yang lain. Hasil pengujian dari

penelitian menunjukan % of CPU, request time, dan bandwidth antara load balancing dan

server tunggal mempunyai perbedaan yang cukup signifikan, dan load balancing teruji lebih layak untuk digunakan.

Kata Kunci: Load Balancing, 500 user, web server, % of CPU, Request Time, Bandwidth

1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya

Wacana 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

Page 9: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

2

1. Pendahuluan Seiring berkembangnya teknologi, penggunaan web semakin meningkat di

berbagai instansi, salah satunya adalah instansi pendidikan. Keberadaan web

sendiri berguna untuk mendukung program Menteri Pendidikan dalam

meningkatkan mutu para siswa dengan memperbanyak inovasi pendidikan. Salah

satu inovasi yang muncul ialah Computer-Based Test (CBT) berbasis web, inovasi

ini diharapkan mampu mengurangi segala kekurangan Paper-Based Test (PBT)

seperti mengurangi kecurangan yang dapat terjadi selama ujian berlangsung.

Seperti halnya wawancara dengan pihak SMK Telekomunikasi Tunas

Harapan, SMK ini merupakan salah satu sekolah yang telah menerapkan CBT,

sehingga SMK Telekomunikasi Tunas Harapan dituntut untuk memiliki akses

yang cepat ke server web selama ujian berangsung. Peningkatan trafik terus

menerus terjadi pada satu server yang tersedia, sehingga akan berpotensi

terjadinya overload bahkan server akan down. Masalah yang terjadi di SMK

Telekomunikasi Tunas Harapan yaitu, saat berlangsungnya kegiatan CBT dengan

jumlah 500 user dan menggunakan server tunggal mengakibatkan overload dan

bisa menyebabkan server down. Apabila saat ujian sering mengalami gangguan

akan menyebabkan kerugian pada siswa yang sedang malaksanakan ujian. Oleh

karena itu, sekolah harus menyediakan suatu sistem yang menanggulangi jika

terjadi down pada server tersebut.

Pemanfaatan teknologi yang semakin maju, maka diterapkan suatu

rancangan yaitu penambahan beberapa server yang akan di-load balancing. Load

balancing adalah proses untuk mendistribusikan beban trafik pada dua atau lebih

jalur koneksi secara merata antara dua atau lebih komputer, link jaringan, CPU,

hard drive, atau sumber daya dengan tujuan untuk mendapatkan pemanfaatan

sumber daya yang optimal, memaksimalkan throughput, memperkecil waktu

tanggap dan menghindari overload [1]. Load balancing dipilih karena waktu

respon yang cepat sehingga meningkatkan kecepatan saat web diakses dan alasan

lain yaitu, apabila salah satu server down maka tidak mempengaruhi kinerja

server yang lain seperti tidak terjadi masalah pada server.

Berdasarkan latar belakang masalah yang ada, maka dilakukan penelitian

yang bertujuan untuk Perancangan dan Implementasi Load Balancing Web Server

menggunakan HAProxy (High Availability Proxy). Dengan konsep yang akan

dirancang, kelak akan dapat diterapkan oleh instansi lain untuk membantu

memberikan solusi terbaik dalam membangun jaringan komputer.

2. Tinjauan Pustaka Pada penelitian yang berjudul Implementasi Load Balancing dengan

Menggunakan Algoritma Round Robin Pada Kasus Pendaftaran Siswa Baru

Sekolah Menengah Pertama LABSCHOOL UNESA Surabaya membahas tentang

membandingkan load balancing yang menggunakan metode LVS dan non LVS,

serta menggunakan algoritma Round Robin. Setalah melakukan uji coba maka

hasil yang didaptkan yaitu dengan menggunkan metode LVS respone time dari

sebuah server lebih cepat dan stabil jika dibandingkan dengan tidak menggunakan

metode LVS yaitu 36,3ms dengan jumlah koneksi user antara 10.000/s – 50.000/s

[2].

Page 10: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

3

Pada penelitian yang berjudul Implementasi High Availability Server

Menggunakan Metode Load Balancing dan Failover Pada Virtual Web Server

Cluster membahas tentang implamentasi load balancing pada web server yang

ter-cluster. Sistem pengujian yang dilakukan dengan membandingkan antara

server tunggal dan server yang sudah di lakukan load balancing dengan

membandingkan parameter-parameter yang ada, diantara lain yaitu request dari

client ke server, throughput, CPU Utilization, dan request loss. Pada jurnal ini

juga dilakukan perbandingan antara menggunakan software HAProy dan Nginx,

dan hasil yang bisa dilihat yaitu tidak ada perbedaan yang terlalu signifikan [3].

Pada penelitian yang berjudul Implementasi Load Balancing Web Server

Menggunakan HAProxy membahas tentang implementasi load balancing

menggunakan HAProxy yang dimana penulis menggunakan tiga buah server dan

mencoba melakukan pengujian dengan menggunakan bantuan software

Webserver Stress Tools yang dimana aplikasi ini bisa melakukan pengujian

dengan banyak client. Hasil yang didapat setelah melakukan penelitian yaitu

dengan menggunakan HAProxy lebih cepat dibandingkan apabila hanya

menggunakan server tunggal [4].

Pada penelitian yang berjudul Implementasi Sistem Load Balancing

dengan Algoritma Round Robin untuk Mengatasi Beban Server di SMK Negeri 2

Kudus membahas tentang implementasi load balancing menggunakan algoritma

Round Robin, kemudian akan dibandingkan dengan algoritma yang sebelumnya

digunakan yaitu algoritma Least Connection. Hasil yang didapat yaitu lebih

efektif menggunakan algoritma Round Robin[5].

Pada penelitian yang berjudul perancangan N-Clustering High Availability

Web Server dengan Load Balancing dan Failover membahas tentang merancang

server clustering dengan load balancing dan menggunakan metode PPDIO, hasil

yang didapatkan yaitu dengan menerapkan n-clustreing pada web server dapat

mengurangi beban trafik [6].

Page 11: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

4

3. Metode Penelitian Metode penelitian yang digunakan untuk menyusun penelitian ini adalah

metode PPDIOO (Prepare, Plan, Design, Implement, Operate, Optimized).

Metode ini digunakan sebagai tahapan dalam menerapkan Load Balancing pada

web server SMK Telekomunikasi Tunas Harapan. Tahapan-tahapan dalam

metode PPDIOO digambarkan pada Gambar 1.

Gambar 1. Metode PPDIOO

Tahap-tahap dalam tahapan penelitian pada Gambar 1 dijelaskan sebagai

berikut:

Tahap Prepare merupakan tahapan menetapkan kebutuhan organisasi

dan bisnis, mengembangkan strategi jaringan, dan mengusulkan konsep

arsitektur. Pada tahap ini dilakukan pengamatan dan wawancara dengan pihak

SMK Telekomunikasi Tunas Harapan untuk mengetahui mengenai masalah server

ketika sedang melakukan CBT.

Plan merupakan tahap mengidentifikasi persyaratan jaringan berdasarkan

tujuan, fasilitas, dan kebutuhan pengguna. Setelah melakukan wawancara dengan

pihak SMK Telekomunikasi Tunas Harapan dapat disimpulkan, bahwa terjadi

masalah pada bagian server yang mengalami overload pada saat berlangsungnya

CBT. Maka dari itu akan dilakukan implementasi load balancing pada server dan

fokus utamanya yaitu web server dengan menggunakan aplikasi HAProxy.

HAProxy dipilih karena mudah untuk dikonfigurasi, bisa melakukan load

balancing dengan banyak server, dan bisa menerapkan model master-slave yaitu

apabila server utama mati secara otomoatis akan digantikan oleh slave/server yg

lain.

Design merupakan tahap awal perancangan sistem berdasarkan metode

yang akan digunakan untuk membangun sistem load balancing dalam bentuk

topologi jaringan yang akan memudahkan membangun insfrstruktur jaringan.

Rancangan umum arsitektur sistem yang terpasang di SMK Telekomunikasi

Tunas Harapan yang diperoleh setelah melakukan observasi dan wawancara

menjelaskan mengenai topologi serta gambaran mengenai sistem jaringan yang

digunakan seperti pada Gambar 2 dan Gambar 3.

Prepare

Plan

Design

Implement

Operate

Optimize

d

Page 12: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

5

Gambar 2. Topologi server tunggal

Pada Gambar 2 merupakan topologi yang digunakan oleh SMK

Telekomunikasi pada saat ini atau saat belum menggunakan load balancing.

Terlihat bahwa pada pada topologi diatas hanya menggunakan satu server yang

dimana server tersebut diakses oleh 500 user. Untuk pembaharuan sistem server

yang dimana menggunakan load balancing topologinya bisa dilihat pada Gambar

3.

Gambar 3. Topologi yang digunakan

Gambar 3 merupakan rancangan topologi secara umum, dimana memiliki

tiga buah server yaitu web server yang dimana web server itu sendiri berisi web

yang akan digunakan saat CBT. Pada server 1 mempunyai IP 192.168.33.1/24,

Page 13: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

6

server 2 mempunyai IP 192.168.34.1/24, dan server 3 mempunyai IP

192.168.35.1/24. HAProxy sendiri mempunyai IP 192.168.15.15/24.

Dalam topologi ini diketahui, user akan mengakses web yang sudah

tersedia, kemudian akan diterima oleh HAProxy terlebih dahulu sebagai penengah

antara user dan server, kemudian HAProxy akan mengecek “kesehatan” semua

server apabila keadaan server memadai semua, maka HAProxy akan

mengarahkan request dari user menuju server, dengan 500 user maka HAProxy

akan mengarahkan ke server secara merata tanpa membebani salah satu server

saja. Server sudah menerima request, maka server menanggapi request dan akan

menampilkan hasilnya di web browser user.

Implement merupakan tahapan akhir bagi tahapan-tahapan yang sudah

dilakukan sebelumnya, tahapan ini juga menjadi langkah pengujian sebelum

pindah ke tahap operate. Pada tahap ini yaitu melakukan implementasi load

balancing pada Ubuntu Server 16.04. Sebelumnya dilakukan instalasi dibutuhkan

paket-paket seperti Linux, Apache, MySQL, PHP (LAMP) Server pada server 1,

server 2, dan server 3 yang nantinya akan di load balancing, kemudian

dibutuhkan satu PC lagi yang akan menjadi load balancer yaitu HAProxy. Setelah

tahap implementasi selesai, maka akan dilakukan pengujian saat melakukan CBT.

Operate merupakan tahapan mempertahankan ketahahan server sehari-

hari. Operate meliputi pengelolaan dan memonitor komponen-komponan,

mengelola kegiatan upgrade, mengelola kinerja, mengidentifikasi dan mengoreksi

kesalahan. Selama pengoperasi,harus selalu dipantau stabilitas dan kinerja server,

deteksi kesalahan, koreksi konfigurasi,serta kegiatan-kegiatan pemantauan

kinerja. Pada tahap ini dilakukan pemantauan server yang sudah diuji

sebelumnya.

Optimized adalah tahap optimalisasi. Pada tahap ini dilakukan evalusi

berdasarkan perancangan dan pengujian yang telah dilakukan pada tahap

sebelumnya, apabila terjadi kendala maka akan dilakukan optimalisasi agar sistem

menjadi lebih baik dan hasil akhir yang baik.

4. Pembahasan Penelitian ini menggunakan HAProxy versi 1.6.3 yang dijalankan pada

Ubuntu Server 16.04 yang dapat dilihat pada Gambar 4.

Gambar 4. Versi HAProxy

Konfigurasi HAProxy berada di file haproxy.cfg yang terletak pada

direktori /etc/haproxy/haproxy.cfg, konfigurasi yang ada pada

/etc/haproxy/haproxy.cfg terdapat 2 bagian, yaitu bagian default yang sudah ada

pada file tersebut sehingga tidak perlu diganti yang ada pada Gambar 5.

Page 14: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

7

Gambar 5. File haproxy.cfg

Konfigurasi yang dilakukan secara manual yaitu menambahkan frontend

dan backend. Frontend adalah bagaimana sebuah request seharusnya diteruskan

ke backend. Backend adalah sekumpulan “server” yang menerima request.

Backend dapat berisi satu atau banyak “server” didalamnya dan apabila

menambahkan lebih banyak “server” ke backend akan meningkatkan potensi load

capacity dengan menyebarkan beban ke beberapa server[7]. Untuk konfigurasi

frontend dan backend dapat dilihat pada Gambar 6.

Gambar 6. Isi /etc/haproxy/haproxy.cfg

Bagian frontend diberikan identitas sebagai pengenal agar bisa

meneruskan request ke backend dengan nama webfrontend, dan didalam frontend

webfrontend berisi bind *:80 yaitu berfungsi menghubungkan web server 1, web

server 2, dan web server 3. Mode HTTP adalah fokus utama yang dilakukan pada

Page 15: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

8

load balancing, pada penelitian ini melakukan load balancing web server

sehingga menggunakan mode HTTP. Default_backend webendpoint adalah

sebagai penghubung antara frontend dan backend agar backend mengetahui apa

saja yang ada didalam frontend.

Bagian backend diberikan identitas webendpoint. Pada bagian balance

roundrobin adalah algoritma yang digunakan, option forwardfor berfungsi

menginstruksikan load balancer untuk meneruskan IP klien ke server. Bagian

server ubuntu1 192.168.35.1:80 check adalah bagian dimana IP 192.168.35.1:80

akan di cek oleh HAProxy dan kemudian akan ditetapkan sebagai IP yang akan di

load balancing dengan IP server yg lain, dan untuk bagian ubuntu1, ubuntu2,

ubuntu3 adalah nama host dari server yang akan di load balancing.

Pengujian sederhana yang dilakukan untuk membuktikan bahwa

konfigurasi berhasil yaitu dengan cara mengakses IP dari HAProxy

(192.168.15.15) kemudian muncul isi dari web yang sudah diatur sebelumnya,

bisa dilihat pada Gambar 7 dan Gambar 8.

Gambar 7. Tampilan web pada server 1

Form login yang tampak pada Gambar 7 adalah form login yang sudah

diatur pada server 1, bisa dilihat di from login tersebut bertuliskan “Selamat

Datang di Web Server 1”. Jika halaman web di reload maka HAProxy akan

mengakses server 2, hasil bisa dilihat pada Gambar 8.

Page 16: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

9

Gambar 8. Tampilan web dari server 2

Gambar 8 adalah halaman web yang sudah di reload yang merupakan

halaman web yang sebelumnya sudah diatur pada server 2. Perbedaan yang

terlihat pada Gambar 6 dan Gambar 7 adalah jika mengakses IP 192.168.15.15

saat pertama kali maka akan diarahkan ke server yang memadai, pada contoh

diatas server 1 dan server 2 sama-sama memadai dan HAProxy akan

mengarahkan ke server 1 terlebih dahulu, apabila di reload maka akan pindah ke

server 2.

Data pada Tabel 1, Tabel 2, dan Tabel 3 merupakan hasil tes

menggunakan aplikasi Web Server Stress Tool yang dilakukan selama 5 menit

(300 detik), kemudian data akan dibuat dalam bentuk grafik untuk melihat

perbandingan antara load balancing dan server tunggal. Grafik bisa dilihat pada

Gambar 9, Gambar 10, dan Gambar 11.

Tabel 1. % of CPU

% of CPU

Waktu (detik) Jumlah user Load Balancing (%) Server Tunggal (%)

0 0 0 0

25 100 11,5 15

50 150 13 18

100 200 19 32

125 250 17 30

150 300 23 40

200 350 22 49

Page 17: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

10

225 400 22 67

250 450 21 43

300 500 30 48

Tabel 1 bisa diartikan sebagai berikut: Pada detik ke-0 belum terjadi

apapun dan user yang mengakses belum ada, sehingga penggunan CPU pada load

balancing dan server tunggal belum menunjukan apapun, kemudian pada saat

detik ke-25 jumlah user yang sudah mengakses sebanyak 100 user dan

penggunaan CPU pada load balancing dan server tunggal naik menjadi 11,5%

dan 15%. Selanjutnya pada detik ke-50 jumlah user naik menjadi 150 user,

penggunaan CPU berubah menjadi 13% pada load balancing dan 18% pada

server tunggal, seperti itu seterusnya sampai detik ke-300 yang dimana sudah

diakses oleh 500 user.

Tabel 2. Request Time

Request Time

Waktu (detik) Jumlah user Load Balancing (ms) Server Tunggal (ms)

0 0 0 0

25 100 27,5 40

50 150 26,5 37

100 200 29 27

125 250 21,5 28

150 300 22,5 30

200 350 24 37

225 400 21,5 39

250 450 25,5 42

300 500 23 38

Tabel 2 bisa diartikan sebagai berikut: Pada detik ke-0 belum terjadi

apapun dan user yang mengakses belum ada, sehingga request time pada load

balancing dan server tunggal belum menunjukan apapun, kemudian pada saat

detik ke-25 jumlah user yang sudah mengakses sebanyak 100 user dan request

time pada load balancing dan server tunggal naik menjadi 27,5ms dan 40ms.

Selanjutnya pada detik ke-50 jumlah user naik menjadi 150 user, request time

berubah menjadi 26,5ms pada load balancing dan 37ms pada server tunggal,

Page 18: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

11

seperti itu seterusnya sampai detik ke-300 yang dimana sudah diakses oleh 500

user.

Tabel 3. Bandwidth

Bandwidth

Waktu (detik) Jumlah user Load Balancing

(kb/s)

Server Tunggal (kb/s)

0 0 0 0

25 100 126 127

50 150 118 120

100 200 87 154

125 250 143 180

150 300 140 182

200 350 98 120

225 400 110 130

250 450 160 182

300 500 166 177

Tabel 3 bisa diartikan sebagai berikut: Pada detik ke-0 belum terjadi

apapun dan user yang mengakses belum ada, sehingga bandwidth pada load

balancing dan server tunggal belum menunjukan apapun, kemudian pada saat

detik ke-25 jumlah user yang sudah mengakses sebanyak 100 user dan bandwidth

yang digunakan oleh load balancing dan server tunggal naik menjadi 126kb/s dan

127kb/s. Selanjutnya pada detik ke-50 jumlah user naik menjadi 150 user,

penggunaan bandwidth berubah menjadi 118kb/s pada load balancing dan

120kb/s pada server tunggal, seperti itu seterusnya sampai detik ke-300 yang

dimana sudah diakses oleh 500 user.

Page 19: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

12

Gambar 9. Grafik % of CPU

Gambar 9 menunjukan perbandingan antara load balancing dan server

tunggal terlihat cukup jelas, yaitu pada load balancing penggunaan CPU tidak

terlalu banyak dengan seiring bertambahnya waktu, dan penggunaanya hanya ada

dikisaran 10%-30%, sedangkan pada server tunggal tidak stabil dan penggunaan

CPU berada dikisaran 15%-70%, peningkatan paling terlihat jelas pada detik ke-

225 dengan 400 user yang hampir mencapai 70%.

Gambar 10. Grafik Request Time

Request time pada load balancing mengalami keniakan-penuruan,

kenaikan yang jelas terlihat yaitu pada detik ke-100 dimana hampir mencapai 30

ms, untuk request time load balancing berada dikisaran 20ms-30ms. Sama halnya

pada load balancing, pada server tunggal juga mengalami kenaikan-penurunan

0

10

20

30

40

50

60

70

80

0 25 50 100 125 150 200 225 250 300

%

Waktu (detik)

% OF CPU

Load Balancing Single Server

0

100 150

200 250

300

350

400

450 500

10 150 20 250

300 350 400 450

50

0

10

20

30

40

50

0 25 50 100 125 150 200 225 250 300

(ms)

Waktu (detik)

REQUEST TIME (ms)

Load balancing Single Server

0

100 150

20

250 30

350 400 450

500

100 150

200

25350

400 450

300 50

Page 20: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

13

tetapi pada server tunggal, request time lebih besar daripada load balancing,

angka terendah berada pada detik ke-100 dengan 200 user yang berada diangka

27ms dan angka terbesar berada pada detik ke-250 dengan 450 user. Semakin

tinggi angka request time maka membutuhkan waktu lebih bagi server untuk

menangani request.

Gambar 11. Grafik Bandwidth

Gambar 11 bisat dilihat bandwidth server tunggal dan load balancing

perbandingannya tidak terlalu besar. Penggunaan bandwidth pada server tunggal

berada pada kisaran 120kb/s-185kb/s, paling tinggi saat detik ke-150 dengan

kondisi user masih berjumlah 300 yaitu berada pada angka 182kb/s. Penggunaan

bandwidth pada load balancing berada pada kisaran 80kb/s-165kb/s, paling tinggi

saat detik ke-300 dengan 500 user yaitu berada pada angka 165kb/s.

5. Kesimpulan dan Saran Berdasarkan penelitian yang dilakukan yaitu Perancangan dan

Implementasi Load Balancing Web Server menggunakan HAProxy dapat ditarik

kesimpulan yaitu menggunakan load balancing pada server SMK Telekomunikasi

Tunas Harapan dapat mengurangi beban server yang digunakan untuk CBT yang

sebelumnya hanya menggunakan server tunggal, dimana apabila hanya

menggunakan server tunggal dapat mengakibatkan overload jika diakses oleh 500

orang siswa.

Penggunaan load balancing lebih efektif daripada hanya menggunakan

server tunggal, bisa dilihat pada hasil uji tes yaitu penggunan CPU pada load

balancing lebih sedikit, selisih penggunaan CPU antara load balancing dan server

tunggal bisa mencapai 45%. Request time pada load balancing sedikit lebih baik

daripada server tunggal yang mencapai 42ms sedangkan load balancing hanya

21,5ms, perbedaannya mencapai 20,5ms. Bandwidth pada load balancing dan

0

20

40

60

80

100

120

140

160

180

200

0 25 50 100 125 150 200 225 250 300

kb/s

Waktu (detik)

Bandwidth

Load Balancing Single Server

100 150

200

250 300

350 400

450 500

100 150

200

250 300

350 400

450 500

Page 21: PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB … · 2020. 11. 3. · PERANCANGAN DAN IMPLEMENTASI LOAD BALANCING WEB SERVER MENGGUNAKAN HAProxy (High Availability Proxy) Studi

14

server tunggal tidak terlalu signifikan perbedaanya, pada server tunggal

bandiwidth paling tinggi yaitu 182kb/s dan pada load balancing paling tinggi

165kb/s, selisih antara keduanya hanya 17kb/s.

Dari hasil penerapan load balancing pada server SMK Telekomunikasi

Tunas Harapan diperlukannya penambahan server baik secara software ataupun

hardware agar lebih baik lagi performanya dan mungkin bisa menambahkan

database server yang kedepannya bisa dikembangkan hingga sinkronisasi

database.

6. Daftar Pustaka [1] Supramana, “Implementasi Load Balancing Pada Web Server Dengan

Menggunakan Apache,” J. Manaj. Inform., vol. 5, no. 2, 2016.

[2] G. Triono, T. Informasi, S. Tinggi, T. Surabaya, and L. V. Server,

“Implementasi Load Balancing Dengan Menggunakan Algoritma Round

Robin Pada Kasus,” Semin. Nas., pp. 169–176, 2015.

[3] M. Rosalia, R. Munadi, and R. Mayasari, “Implementasi High Availability

Server Menggunakan Metode Load Balancing dan Failover pada Virtual

Web Server Cluster,” e-Proceeding Eng., vol. 3, no. 3, pp. 4496–4503,

2016.

[4] A. Syaqia Azizah, “IMPLEMENTASI LOAD BALANCING WEB

SERVER MENGGUNAKAN HAPROXY,” 2017.

[5] K. Ansharullah, “Implementasi Sistem Load Balancing Dengan Algoritma

Round Robin Untuk Mengatasi Beban,” 2016.

[6] F. W. H. Sumarna, Hafis Nurdin, “Perancangan N-Clustering High

Availability Web Server,” vol. 4, no. 2, pp. 149–154, 2019.

[7] M. Anicas, “An Introduction to HAProxy and Load Balancing Concepts,”

DigitalOcean, 2014. [Online]. Available:

https://www.digitalocean.com/community/tutorials/an-introduction-to-

haproxy-and-load-balancing-concepts. Diakses pada 25 juni 2019