Makalah Sistem Server Word Press Menggun

M AKALAH
IM PLEM ENTASI LOAD BALANC ER
M ENGGUNAKAN ALGORITM A ROUND -ROBIN
PADA SISTEM SERVER W ORDPRESS
Kelas
Program Studi

:
:

Administrasi Sistem Server - A
Teknik Informatika

Ketua Kelompok
Nama

:

Kalbuadi Joyoputro

NIM


:

145150200111028

Anggota
Nama
Nama
Nama
Nama

:
:
:
:

Richad Gilang W
Riksa Suta Adji
Shufura Naufal
Thelemanica Wicaksana


NIM
NIM
NIM
NIM

:
:
:
:

145150207111019
145150200111018
145150207111014
145150201111039

JURUSAN TEKNIK INFORM ATIKA
FAKULTAS ILM U KOM PUTER
UNIVERSITAS BRAWIJAY A
TAHUN A JARAN 2018 / 2019


KATA PENG ANTAR
Puji Syukur saya panjatkan ke hadirat Tuhan Yang M aha Esa, karena atas berkat dan
karunia-Nya, penulis dapat menyelesaikan penulisan makalah IM PLEM ENTASI LOAD
BALANCER

M ENGGUN AKAN

ALGORITM A

ROUND -ROBIN

PADA

SISTEM

SERVER WORDPRESS. Adapun maksud serta tujuan dari penulisan makalah ini adalah untuk
menyelesaikan tugas akhir mata kuliah Administrasi Sistem Server sekaligus menjadi sumber
pengetahuan yang dapat memperluas ilmu para mahasiswa, pembaca, dan khususnya bagi
penulis sendiri.

Penulis di sini telah berusaha agar dapat menulis m akalah IM PLEM ENTASI LOAD
BALANCER

M ENGGUN AKAN

ALGORITM A

ROUND -ROBIN

PADA

SISTEM

SERVER WORDPRESS dengan baik dan benar, namun penulis menyadari adanya kekurangan
dan keterbatasan dalam penulisan makalah ini. Oleh karena itu, jik a didapati kesalahankesalahan dari segi teknik penulisan, maupun dari isi materi makalah ini, maka penulis
memohon maaf yang sebesar-besarnya. Kritik dan saran dari semua pembaca sangat
diharapkan untuk dapat memperbaiki penulisan makalah ini terlebih lagi dalam menambah
ilmu pengetahuan kita bersama.

M alang, 26 November 2017

tertanda,

Penulis

BAB I PENDAHULUAN
1.1 LATAR BELAKANG
Website merupakan media penyebaran informasi yang bersifat global. Saat ini website
semakin berkembang pesat serta menjadi suatu infrastruktur yang penting pada suatu instansi
pemerintahan, organisasi maupun perusahaan untuk menyediakan layanan ataupun informasi
secara publik.
Website ber-arsitektur single web server yang banyak diterapkan ternyata memiliki
banyak kekurangan. D isaat website mengalami peningkatan akses request dari pengguna
hingga terjadi overload untuk merespon, maka server bisa me ngalami down total sehingga
tidak ada lagi yang akan melayani seluruh request dari pengguna. M aka dari itu perlu
diterapkannya teknologi load balancing yang diharapkan dapat menangani beban request yang
besar dengan cara mendistribusikan beban kerja dari b eberapa computer atau cluster.
Load balancing merupakan salah satu cara yang digunakan untuk meningkatkan kinerja
dan tingkat ketersediaan server, yaitu dengan membagi request yang datang ke beberapa server
sekaligus, sehingga beban yang ditanggung oleh m asing-masing server lebih ringan. Tingkat
ketersediaan server bisa tetap terjaga dengan penggunaan load balancing ini, yaitu ketika salah

satu server tidak dapat melayani permintaan pengguna (server dow n), maka secara otomatis
server yang lain langsung menggantikannya, sehingga pengguna seakan-akan tidak mengetahui
bahwa server tersebut down.
Terdapat beberapa algoritma penjadwalan untuk load balancing, seperti round robin,
least connection, weighted round robin, dan weighted least connection. Namun, pada
percobaan kali ini, penulis mencoba mengimplementasikan load balancer menggunakan
algoritma round robin pada sistem server wordpress.
1.2 DASAR TEORI
1.2.1 Load Balancing
Load balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih
jalur koneksi secara seimbang agar trafik dapat berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap, dan menghindari overload pada salah satu jalur koneksi. Load
balancing digunakan pada saat sebuah server telah memiliki jumlah user yang telah melebihi
maksimal kapasitasnya. Load balancing juga mendistribusikan beban kerja secara merata di

dua atau lebih komputer, link jaringan, CPU, hard drive, atau sumber daya lainnya untuk
mendapatkan pemanfaatan sumber daya yang optimal. Sedangkan, alat atau program yang
digunakan untuk melakukan load balancing disebut load balancer. Salah satu load balancer
yang sering digunakan adalah HAProxy. Seperti bisa kita lihat pada Gambar 1, pengguna atau
client tidak mengakses server secara langsung, melainkan mengakses load balancer yang akan

mendistribusikan koneksi ke server tujuan sesuai dengan kebutuhan dan algoritma yang
diterapkan.

Gambar 1. Arsitektur jaringan pada sistem Load Balancer pada umumnya.

Ada beberapa algoritma yang digunakan dalam pengimplementasian load balancing,
antara lain:
1. Round Robin
Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak
digunakan oleh perangkat load balancing. Algoritma ini membagi beban secara
bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran.
2. Ratio
Ratio (rasio) sebenarnya merupakan sebuah parameter yang diberikan untuk masing masing server yang akan dimasukkan kedalam sistem load balancing. Dari parameter
Ratio ini, akan dilakukan pembagian beban terhadap server -server yang diberi rasio.
Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio
kecil akan lebih sedikit diberi beban.
3. Fastest
Algoritma yang satu ini melakukan pembagian beban dengan mengutamakan server server yang memiliki respon yang paling cepat. Server di dalam jaringan yang memiliki
respon paling cepat merupakan server yang akan mengambil beban pada saat
permintaan masuk.


4. Least Connection
Algoritma Least connection akan melakukan pembagian beban berdasarkan banyaknya
koneksi yang sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi
yang paling sedikit akan diberikan beban yang berikutnya akan masuk.
1.2.2 Sistem Server
Sistem server adalah sebuah sistem komputer yang menyediakan jenis layanan (service)
tertentu dalam sebuah jaringan komputer (Nemeth, 2010). Server didukung dengan prosesor
yang bersifat scalable dan RAM yang besar, juga dilengkapi deng an sistem operasi khusus,
yang disebut sebagai sistem operasi jaringan (netw ork operating system).Server juga
menjalankan perangkat lunak adm inistratif yang mengontrol akses terhadap jaringan dan
sumber daya yang terdapat di dalamnya. Ada beberapa jenis server, yaitu:
1. Server Aplikasi
Server yang digunakan untuk menyimpan berbagai macam aplikasi yang dapat diakses
oleh client.
2. Server Data
Server jenis ini di gunakan untuk menyimpan berbagai data, baik data yang belum
diolah ataupun data yang sudah diolah me njadi informasi. data ini dapat di akses oleh
client dengna bantuan aplikasi yang ada di server.
3. Server Proxy

Sedangkan Server proxy berfungsi untuk mengatur lalu lintas di jaringan melalui
pengaturan proxy. Orang awam lebih mengenal proxy server untuk men gkoneksikan
komputer client ke Internet.

BAB II PEMBAHASAN
2.1 Arsitektur Jaringan Sistem Server
Terdapat 4 node yang digunakan dalam sistem server Wordpress ini, yaitu load balancer
server, Wordpress server 1, Wordpress server 2, dan database server. Seperti pada gambar 2,
user akan mengakses load balancer yang akan melakukan forwarding ke Wordpress 1 dan 2
sesuai dengan algoritma load balancing round-robin. Wordpress server 1 dan 2 akan
tersinkronisasi secara otomatis. Wordpress server 2 akan meniru setiap perubahan yang terjadi
pada web application server 1 yang berada di dalam direktori /var/www /html. Wordpress server
1 dan 2 berbagi satu database server yang sama. Setiap node berjalan di atas VirtualBox
M achine.
Wordpress Server 1

/var/www/html
syncronized
User


Database
Server

Load
Balancer

Wordpress Server 2
Gambar 2. Arsitektur jaringan pada sistem server W ordpress.

Setiap node di dalam sistem server W ordpress berada pada jaringan 192.168.56.0/24.
Pem berian alam at IP pada m asing -m asing node antara lain adalah sebagai berikut:
Tabel 1. Alamat IP tiap node.

Node

Alam at IP

Load Balancer

192.168.56.6


W ordpress Server 1

192.168.56.4

W ordpress Server 2

192.168.56.3

Database Server

192.168.56.5

2.2 Analisa Kebutuhan Sistem Server
Terdapat 4 node yang beroperasi pada sistem server Wordpress ini, yaitu: Load
Balancer, Wordpress server 1, Wordpress server 2, dan database server. Setiap node tersebut
memiliki fungsi yang berbeda-beda. Load Balancer digunakan untuk melakukan load
balancing dengan mendistribusikan akses menuju Wordpress server 1 dan 2. Wordpress Server
1 berperan sebagai master server, yang mana setiap perubahan yang terjadi pada web
application di server 1 akan diikuti/disinkronisasi oleh server 2. Database server bertin dak
sebagai tempat berdirinya database engine dan tempat pendistribusian data untuk Wordpress
server 1 dan 2. Berikut adalah system requirements pada masing -masing node:
1. Load Balancer
Tabel 2. System Requirements Load Balancer.

RAM

512 M B

Hard disk

10 GB

Sistem Operasi

Ubuntu 14.04

2. Wordpress server 1
Tabel 3. System Requirements W ordpress server 2.

RAM

1024 M B

Hard disk

15 GB

Sistem Operasi

Ubuntu 14.04

3. Wordpress server 2
Tabel 4. System Requirements W ordpress server 2.

RAM

1024 M B

Hard disk

15 GB

Sistem Operasi

Ubuntu 14.04

4. Database server
Tabel 5. System Requirements Database server.

RAM

512 M B

Hard disk

10 GB

Sistem Operasi

Ubuntu 14.04

2.3 Implementasi Sistem Server
2.3.1 Konfigurasi W ordpress Server
Kami menggunakan Apache sebagai web server pada Wordpress server 1 dan 2.
Sedangkan web application Wordpress dapat diunduh secara gratis dari website resmi
Wordpress, www.wordpress.org. Langkah konfigurasi Wordpress server adalah sebagai
berikut:
1. Install Apache web server pada kedua Wordpress server. Syntax: # apt-get install
apache2.
2. Install PHP beserta modul-modulnya pada kedua W ordpress server. Sytax: # apt-get
install php5 libapache2-mod-php5 php5-mcrypt.
3. Pastikan A pache dan PHP sudah berjalan dan terkoneksi dengan benar.
4. Copy web application Wordpress pada direktori /var/www /html yang ada di server 1
dan 2. Dalam hal ini, Wordpress menjadi website utama pada server 1 dan 2. Perlu
diperhatikan, bahwa web application Wordpress membutuhkan database untuk dapat
berjalan dengan baik. Sebelum terbentuk koneksi antara Wordpress server 1 dan 2
dengan database server, website Wordpress akan menanmpikan pesan error.
5. Sebagai tambahan, kami memasang M ySQL -C lient untuk melakukan remote database
pada kedua Wordpress server. Syntax: # apt-get install mysql-client.
2.3.2 Konfigurasi D atabase Server
Kami menggunakan M ySQL-Server sebagai database engine pada database sistem
server ini. Langkah konfigurasi database server adalah sebagai berikut:
1. Install M ySQL-Server pada database server. Syntax: # apt-get install mysql-server.
2. Buka file /etc/mysql/my.cnf dengan text editor, lalu ubah nilai variabel bind-address
sesuai dengan alamat IP database server. Di sini alamat IP database server adalah
192.168.56.5.
3. Login ke dalam M ySQL-Server. Syntax: $ mysql -u root -p.
4. Buat database untuk website Wordpress, di sini kami menggunakan nama database
“wordpress”. Syntax: CREATE DATABASE w ordpress;.

5. Buat user mysql baru yang memiliki akses penuh untuk database wordpress, di sini
kami membuat user dengan nama wp2. Syntax: CREATE USER w p2@ ‘%’
IDENTIFIED BY ‘*****’. Tanda % menandakan user wp2 dapat digunaka n sebagai
remote M ySQL-Server.
2.3.3 Penghubungan W ordpress Server dengan Database Server
Pertama, kami terlebih dahulu memeriksa M ySQL-Server dari database server, apakah
dapat dilakukan remote dari luar atau tidak. Pemeriksaan dilakukan dengan cara login ke dalam
M ySQL-Server melalui user database yang telah dibuat di sub -bab 2.2.2. Proses login
menggunakan syntax $ mysql -u wp2 -h 192.168.56.5 -p. Opsi -h adalah alamat IP tujuan, yaitu
database server. Pada Gambar 3, W ordpress server 1 dapat mengakses database wordpress
yang ada di database server.

Gambar 3. Isi database pada database server.

Untuk melakukan penghubungan website Wordpress dengan database wordpress yang
ada

di database

server

dapat dilakukan dengan melakukan konfigurasi pada

file

/var/ww w/html/wp-config.php. M asukkan atau tambahkan nama database, user, password, dan
alamat IP sesuai dengan database yang telah dibuat sebelumnya, seperti pada Tabel 6.

Tabel 6. Konfigurasi tambahan pada file wp-config.php.

1
2
3
4

define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER, ‘wp2’);
define(‘DB_PASSWORD, ‘*****’);
define(‘DB_HOST, ‘192.168.56.5’);

Jika website Wordpress telah terkoneksi dengan benar, maka pesan error tidak akan
muncul lagi, melainkan akan muncul user interface website wordpress yang seharusnya, seperti
pada Gambar 4.

Gambar 4. User Interface website W ordpress.

2.3.4 Sinkronisasi W ordpress Server
Wordpress server 1 dan 2 harus memberikan atau menampilkan web application yang
identik. Agar web application di kedua server selalu identik, maka perlu dilakukan sinkronisasi.
Sinkronisasi dapat dilakukan dengan bantuan aplikasi, salah satunya adalah Rsync. Rsync
dapat melakukan sinkronisasi web application setiap kali terjadi perubahan di server utamanya.
Berikut adalah langkah pembuatan proses sinkronisasi Wordpress server:
1. Install Rsync pada Wordpress server 1 dan 2. Syntax: # apt-get install rsync.
2. Instal openssh-server pada Wordpress server 1 atau server master. Syntax: # apt-get
install openssh-server.
3. Buat proses sinkronisasi berjalan secara otomatis dan periodik. Otomatisasi dapat
dilakukan dengan cara menambahkan syntax sinkonisasi ke dalam laya nan crontab.

Dengan cara, masuk ke dalam crontab (# crontab -e), lalu masukkan syntax
sinkronisasi (*/5 * * * * rsync -avzhe ssh webserver2@ 192.168.56.4:/var/ww w/html/
/var/ww w/html/). Penjelasan dari syntax sinkronisasi ada pada Tabel 7.
Tabel 7. Penjelasan syntax sinkronisasi web server.

Variabel Syntax

Penjelasan

*/5 * * * *

Sinkronisasi setiap 5 menit sekali.

-avzhe

Sinkronisasi menyeluruh

pada

file-file

yang berubah saja.
Ssh

Remote ke Wordpress server 1.

webserver2@ 192.168.56.4

Username dan alamat IP server Wordpress
1 atau bisa dikatakan server 1.

/var/ww w/html/

Direktori yang ingin disinkronisasi.

Semua proses pada langkah 2 dilakukan pada Wordpress server 2.
Kami menonaktifkan penggunaan passw ord pada saat melakukan ssh ke Wordpress
server 1 melalui user “webserver2”. Jika penggunaan passw ord pada ssh tidak dinonaktifkan,
ini akan mengganggu proses sinkronisasi secara otomatis karena harus memasukkan passw ord
tiap kali sinkronisasi. Langkah penonaktifan penggunaan passw ord pada ssh adalah sebagai
berikut:
1. Buat kunci public dan private RSA 2048 bit pada Wordpress server 2. Syntax: # sshkeygen -t rsa -b 2048. Passphrase harus dijadikan kosong.
2. Copy public key yang telah dibuat pada Wordpress server 1 ke Wordpress server 2.
Syntax: #ssh-copy-id -i /home/webserver2/.ssh/id_rsa.pub webserver2@ 192.168.56.4.
3. Lakukan uji login ssh tanpa password ke Wordpress server 1 melalui user
“webserver2”. Syntax: $ ssh webserver2@ 192.168.56.4. Seperti pada Gambar 5, login
ssh dilakukan tanpa menggunakan password.

Gambar 5. Login SSH pada W ordpress server 1.

2.3.5 Konfigurasi Load Balancer
Load balancing dapat dilakukan dengan bantuan aplikasi load balancer. Di sini kami
menggunakan HAProxy sebagai load balancer. Nantinya, server load balancer lah akan akan
diakses oleh user sangat ini membuka website Wordpress. Berikut adalah langkah konfigurasi
load balancer:
1. Install HAProxy. Syntax: # apt-get install haproxy.
2. Buka file konfigurasi yang ada di /etc/haproxy/haproxy.cfg dengan text editor, lalu
tambahkan konfigurasi seperti yang ada pada Tabel 8.
Tabel 8. Konfigurasi load balancer pada file haproxy.cfg.

1
2
3
4
5
6
7

listen wpServer 0.0.0.0:80
mode http
stats enable
stats uri /haproxy?stats
balance roundrobin
server wpServer1 192.168.56 .3:80 check
server wpServer2 192.168.56 .4:80 check

Penjelasan dari konfigurasi load balancer di atas ada pada Tabel 9.
Tabel 9. Penjelasan konfigurasi load balancer pada file haproxy.cfg.

1
2
3
4
5
6-7

Load Balancer akan mendengar koneksi yang masuk pada port 80. wpServer adalah
nama aturannya, dapat diganti sesuai keinginan.
M enjalankan mode HTTP.
M engaktifkan penyimpanan stat koneksi.
Stat dapat diakses melalui 192.168.56.6/haproxy?stats
M enggunakan algoritma roundrobin.
Server tujuan pendistribusian, yaitu wpServer1 (192.168.56.4) dan wpServer2
(192.168.56.3). Kata check untuk melakuakan pemeriksaan apakah server sedang
dalam keadaan hidup atau mati.

2.4 Pengujian Sistem Server
2.4.1 Metode Pengujian
Terdapat 2 parameter yang akan diuji dalam penelitian ini, yaitu penggunaan memory
dan CPU dari Load Balancer, Wordpress Server 1, dan Wordpress Server 2. Pengujian akan
dilakukan menggunakan aplikasi HTTPerf dan Top. HTTPerf digunakan untuk melakukan
percobaan koneksi ke server, sedangkan Top digunakan untuk monitoring penggunaan
memory dan CPU. Seperti pada Gambar 6, H TTPerf dijalankan pada sisi user yang melakukan
percobaan koneksi ke Load Balancer melalui port 80, yang mana secara otomatis akan

mengarahkan koneksi ke Wordpres server 1 dan 2. Sedangkan pada Gambar 7, dapat dilihat
bahwa Top dijalankan pada Load Balancer, Wordpress Server 1, dan Wordpress Server 2.

Gambar 6. Tampilan HTTPerf pada Ubuntu.

Gambar 7. Tampilan Top pada Ubuntu.

Pengujian koneksi menggunakan H TTPerf dilakukan dengan 3 cara, yaitu sebagai
berikut:
1. 250 koneksi per detik selama 2 detik. Syntax: $ httperf --server 192.168.56.6 --port 80
--num-conns 500 --rate 250.
2. 500 koneksi per detik selama 2 detik. Syntax: $ httperf --server 192.168.56.6 --port 80
--num-conns 1000 --rate 500.
3. 1000 koneksi per detik selama 2 detik. Syntax: $ httperf --server 192.168.56.6 --port 80
--num-conns 2000 --rate 1000.

2.4.2 Analisa Penggunaan memory dan CPU
Seperti dapat dilihat pada Grafik X, nilai penggunaan memory pada Load Balancer,
Wordpress Server 1, dan Wordpress server 2 selalu meningkat mengikuti penambahan jumlah
koneksi. Semakin banyak jumlah koneksi dari user, semakin be sar pula penggunaan memory
server. Wordpress server 1 dan 2 memiliki selisih yang relatif kecil pada penggunaan memory,
menandakan bahwa load balancer berjalan dengan benar.

Penggunaan Memory (%)
60

50

51,2

40

42,4

41

35,5

30
28,3
20

43

50,8

29,7

24,3

10

0

250 conn/s

500 conn/s

Gambar 8. Grafik presentase penggunaan memory.

1000 conn/s

Seperti dapat dilihat pada Grafik X, nilai penggunaan CPU pada Load Balancer,
Wordpress Server 1, dan Wordpress server 2 selalu meningkat mengikuti penambahan jumlah
koneksi. Semakin banyak jumlah koneksi dari user, semakin besar pula penggunaan CPU
server. Sama halnya dengan penggunaan memory, Wordpress server 1 dan 2 memiliki selisih
yang relatif kecil pada penggunaan CPU, menandakan bahwa load balancer berjalan dengan
benar.

Penggunaan CPU (%)
18
16
16

16,5

14
12

8

12

11,9

10

11
9

11,2

9,4

9,3

6
4
2
0
250 conn/s

500 conn/s

1000 conn/s

Load Balancer
Wordpress
Serverpenggunaan
1
Wordpress
Gambar 9. Grafik
presentase
CPU. Server 2

Dapat dikatakan, penggunaan memory dan CPU berbanding lurus dengan banyaknya
koneksi pada server. Wordpress server 1 dan 2 berbagi tugas dalam meng -handle request dari
user, yang mengakibatkan penggunaan memory tidak sebesar jika hanya menggunakan 1 server
saja.
Selain dengan menggunakan aplikasi HTTPerf, aktifitas dan trafik pada Wordpress
server 1 dan 2 dapat di-monitor melalui alamat http://192.168.56.6/haproxy?stats. Seperti bisa
dilihat pada Gambar 10, kita dapat memonitor session rate, sessions, queue, errors, lamanya
server telah hidup, dan server yang sedang down secara real-time.

Gambar 10. Tampilan HAProxy Stats.

BAB III DAFTAR PUSTAKA
[1] Nemeth, Evi. Unix and Linux System Administration Handbook: Fourth Edition. 2010.
Upper Saddle River, United States: Pearson Education.
[2] http://fxekobudi.net/netw orking/mengenal-teknologi-load-balancing/, diakses tanggal
8 Desesmber 201 7.