Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Web Server Clustering dengan Skema Load Balancing Menggunakan NGINX
Perancangan dan Implementasi Web Server
Clustering dengan Skema Load Balancing
Menggunakan Nginx
SKRIPSI
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Oleh :
Setyo Wiji As Arif
NIM : 672007121
Program Studi Teknik Informatka
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Januari 2012
i
Lembar Pengesahan
ii
Pernyataan
Skripsi yang berikut ini:
Judul
: Perancangan dan Implementasi Web Server
Clustering dengan Skema Load Balancing
Menggunakan Nginx.
Pembimbing
: 1. Prof. Dr. Ir. Eko Sediyono, M. Kom.
2. Ariya Dwika Cahyono, S. Kom., MT.
adalah benar hasil karya saya:
Nama
: Setyo Wiji As Arif
NIM
: 672007121
Saya menyatakan tidak mengambil sebagian atau seluruhnya dari
hasil karya orang lain kecuali sebagaimana yang tertulis pada daftar
pustaka.
Pernyataan ini dibuat dengan sebenarnya sesuai dengan ketentuan
yang berlaku dalam penulisan karya ilmiah.
Salatiga, Januari 2012
(Setyo Wiji As Arif)
iii
Prakata
Puji syukur penulis panjatkan kehadirat Allah SWT, karena
berkat rahmat-Nya penulis bisa menyelesaikan skripsi dengan judul
“Perancangan dan Implementasi Web Server Clustering dengan
Skema Load Balancing Menggunakan Nginx” ini.
Skripsi ini diajukan untuk memenuhi salah satu persyaratan
guna memperoleh gelar Sarjana Komputer di Program Studi Teknik
Informatika, Fakultas Teknologi Informasi, Universitas Kristen
Satya Wacana Salatiga.
Dalam penyelesaian skripsi ini, penulis tidak mungkin lepas
dari bantuan, doa, dan dukungan dari berbagai pihak. Oleh karena
itu, pada kesempatan ini penulis ingin mengucapkan terima kasih
kepada:
1. Bapak Andeka Rocky Tanaamah, S.E, M.Cs., selaku
Dekan Fakultas Teknologi Informasi, Universitas
Kristen Satya Wacana.
2. Bapak Dian W. Chandra, S.Kom., M.Cs., selaku Ketua
Program Studi Teknik Informatika, Fakultas Teknologi
Informasi, Universitas Kristen Satya Wacana.
3. Bapak Prof. Dr. Ir. Eko Sediyono, M. Kom., selaku
pembimbing pertama yang selalu membimbing dengan
sabar dan memberikan arahan dalam pembuatan skripsi
ini.
4. Bapak Ariya Dwika Cahyono, S. Kom., MT., selaku
pembimbing kedua yang selalu memberikan arahan, ide
dan pemikiran dalam pembuatan skripsi ini.
iv
5. Bapak Adriyanto Juliastomo, S.Si., M.Pd., selaku
Koordinator KP/TA.
6. Bapak, Ibu dan Kakak-kakakku terimakasih atas segala
do’a dan dukungannya.
7. Teman-temanku yang senasib sepenenggungan yang
selalu membantu dalam penyelesaian laporan ini (Prof
Tomy Hongzenk, S.kom., Prof. Nggendor M.Kom.,
Kak Nand, S.Kom., H. Zoko Alonzo, S.Kom., dan
semua yang tidak bisa penulis sebutkan satu per satu).
8. Seluruh rekan-rekan Tunas Rejo terimakasih atas
dukungannya.
9. Prof. Dr. Bajuri, M. Kom., terimakasih atas pinjaman
komputer dan switchnya.
10. Seluruh civitas akademia FTI UKSW terimakasih atas
kerjasama yang telah diberikan.
Penulis
menyadari
masih
banyak
kekurangan
dalam
penyelesaian skripsi ini. Oleh karena itu, penulis mengharapkan
sumbang saran dan pikiran untuk perbaikan di masa yang akan
datang. Semoga skripsi ini dapat memberikan manfaat bagi semua
pihak.
Salatiga, Januari 2012
Setyo Wiji As Arif
Penulis
v
Daftar Isi
Halaman
Halaman Judul ..............................................................................
i
Halaman Pengesahan .................................................................... ii
Halaman Pernyataan ..................................................................... iii
Prakata .......................................................................................... iv
Daftar Isi ....................................................................................... vi
Daftar Gambar .............................................................................. viii
Daftar Tabel .................................................................................. ix
Daftar Kode Program .................................................................... x
Daftar Singkatan ........................................................................... xi
Abstract ......................................................................................... xii
Bab 1 Pendahuluan ....................................................................... 1
1.1. Latar Belakang ........................................................... 1
1.2. Rumusan Masalah ...................................................... 2
1.3. Tujuan dan Manfaat ................................................... 2
1.4. Batasan Masalah ........................................................ 2
1.5. Sistematikan Penulisan .............................................. 3
Bab 2 Tinjauan Pustaka ................................................................ 5
2.1 Penelitian Terdahulu .................................................. 5
2.2 Jaringan Komputer ..................................................... 5
2.3 Web Server ................................................................. 6
2.4 Cluster ........................................................................ 7
2.5 Web Server Clustering ............................................... 8
2.5.1. Database ........................................................... 8
2.5.2. Database Terdistribusi ..................................... 9
2.5.3. Database Cluster .............................................. 10
2.6 MySQL Cluster .......................................................... 12
2.7 Load Balancing .......................................................... 13
2.8 Nginx .......................................................................... 15
Bab 3 Metode Perancangan ........................................................... 19
3.1. Tahapan Penilitian ..................................................... 19
3.2. Perancangan Sistem ................................................... 20
3.2.1. Perancangan Web Server Cluster ...................... 22
3.3. Kebutuhan Hardware dan Sofware ............................ 24
3.4. Perancangan Web Server ............................................ 25
3.4.1. Skenario ............................................................ 25
3.4.2. Use Case Diagram ........................................... 26
vi
3.4.3. Actifity Diagram ...............................................
3.5. Perancangan Antarmuka Aplikasi ..............................
3.6. Metode Pengujian Sistem ..........................................
Bab 4 Hasil dan Pembahasan ........................................................
4.1. Implementasi Sistem ..................................................
4.1.1. Implementasi Balancer .....................................
4.1.2. Implementasi Clusterware ................................
4.1.3. Implementasi Database ....................................
4.2. Pengujian Sistem ........................................................
4.2.1. Pengujian Load Balancing ...............................
4.2.2. Pengujian Kecepatan (SpeedUp) ......................
4.2.3. Pengujian Availabilitas Web Server .................
4.3. Hasil Analisa ..............................................................
Bab 5 Kesimpulan dan Saran ........................................................
5.1. Kesimpulan ................................................................
5.2. Saran ..........................................................................
Daftar Pustaka ..............................................................................
vii
26
27
28
31
31
31
32
37
38
38
39
42
47
49
49
49
51
Daftar Gambar
Halaman
Gambar 2.1Skema Logic Sistem Cluster ..........................................................
Gambar 2.2 Shared Disk Cluster .......................................................................
Gambar 2.3 Shared Nothing .............................................................................
Gambar 2.4 Model Replikasi Data MySQL Cluster ..........................................
Gambar 2.5 Struktur Sederhana Load Balancing .............................................
Gambar 3.1 Bagan PPDIOO Model .................................................................
Gambar 3.2 Arsitektur Umum pada Penelitian ..................................................
Gambar 3.3 Desain Arsitektur Cluster ..............................................................
Gambar 3.4 Perancangan Sistem Web Server Clustering .................................
Gambar 3.5 Use Case Diagram ........................................................................
Gambar 3.6 Activity Diagram ...........................................................................
Gambar 3.7 Perancangan Antarmuka Aplikasi .................................................
Gambar 4.1 Load Balancing Nginx ..................................................................
Gambar 4.2 Halaman Utama ndb_mgm Awal ..................................................
Gambar 4.3 Halaman Utama ndb_mgm Jadi .....................................................
Gambar 4.4 Capture dengan Iftop .....................................................................
Gambar 4.5 Web Server Up ...............................................................................
Gambar 4.6 Web Server Down ..........................................................................
Gambar 4.7 NDBD_Node Sebelum Salah Satu Node Down ............................
Gambar 4.8 Web Server Cluster dengan Dua Node ..........................................
Gambar 4.9 MGM_Node Setelah Salah Satu Node Down ................................
Gambar 4.10 Web Server Cluster dengan Satu Node .......................................
Gambar 4.11 Web Server Down Kembali Aktif ................................................
viii
8
11
11
12
15
20
21
22
23
26
26
28
32
35
36
39
43
43
44
45
45
46
46
Daftar Tabel
Halaman
Tabel 3.1 Kebutuhan Hardware .......................................................................
Tabel 3.2 Kebutuhan Software ..........................................................................
Tabel 4.1 Perbandingan Web Server Tunggal ....................................................
Tabel 4.2 Perbandingan Web Server Cluster .....................................................
Tabel 4.3 Perbandingan Web Server Tunggal dan Cluster ................................
ix
24
25
40
41
42
Daftar Kode Program
Halaman
Kode Program 4.1 Nginx.conf............................................................................
Kode Program 4.2 /etc/hosts ..............................................................................
Kode Program 4.3 Config.ini .............................................................................
Kode Program 4.4 My.cnf ..................................................................................
Kode Program 4.5 Config.php ...........................................................................
x
31
33
34
36
37
Daftar Singkatan
DBMS
: Database Management System
FCFS
: First Come First Served
HA
: High Availability
HPC
: High Performance Cluster
HTTP
: Hyper Text Transfer Protocol
IMAP
: Internet Message Access Protocol
IP
: Internet Protocol
LAN
: Local Area Network
MGM
: Management
NAT
: Netwrok Address Translation
NDB
: Network Database
PC
: Personal Computer
POP3
: Post Office Protocol Version 3
RAM
: Random Acces Memory
RR
: Round Robin
WWW
: World Wode Web
xi
Abstract
Design and Implementation of Web Server
Clustering with Schemas Load Balancing
Using Nginx
The development of information technology in the field of
cluster, the network admin has the idea of combining multiple
web servers. One method for combining multiple servers is load
balancing a method. By using the load balancing method server
can load be divided equally to the entire web server cluster. This
research using nginx to divide tasks equally given user to the
server cluster. As a result, with applying the web server cluster
with load balancing as the divisor can speed up the service task
to users rather than using a single web server.
Keywords: Web Server, Cluster, Load Balancing
xii