Perancangan dan Implementasi Web Server Clustering dengan...
Transcript of Perancangan dan Implementasi Web Server Clustering dengan...
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 ............................................... 26 3.5. Perancangan Antarmuka Aplikasi .............................. 27 3.6. Metode Pengujian Sistem .......................................... 28
Bab 4 Hasil dan Pembahasan ........................................................ 31 4.1. Implementasi Sistem .................................................. 31
4.1.1. Implementasi Balancer ..................................... 31 4.1.2. Implementasi Clusterware ................................ 32 4.1.3. Implementasi Database .................................... 37
4.2. Pengujian Sistem ........................................................ 38 4.2.1. Pengujian Load Balancing ............................... 38 4.2.2. Pengujian Kecepatan (SpeedUp) ...................... 39 4.2.3. Pengujian Availabilitas Web Server ................. 42
4.3. Hasil Analisa .............................................................. 47 Bab 5 Kesimpulan dan Saran ........................................................ 49
5.1. Kesimpulan ................................................................ 49 5.2. Saran .......................................................................... 49
Daftar Pustaka .............................................................................. 51
vii
Daftar Gambar
Halaman
Gambar 2.1Skema Logic Sistem Cluster .......................................................... 8 Gambar 2.2 Shared Disk Cluster ....................................................................... 11 Gambar 2.3 Shared Nothing ............................................................................. 11 Gambar 2.4 Model Replikasi Data MySQL Cluster .......................................... 12 Gambar 2.5 Struktur Sederhana Load Balancing ............................................. 15 Gambar 3.1 Bagan PPDIOO Model ................................................................. 20 Gambar 3.2 Arsitektur Umum pada Penelitian .................................................. 21 Gambar 3.3 Desain Arsitektur Cluster .............................................................. 22 Gambar 3.4 Perancangan Sistem Web Server Clustering ................................. 23 Gambar 3.5 Use Case Diagram ........................................................................ 26 Gambar 3.6 Activity Diagram ........................................................................... 26 Gambar 3.7 Perancangan Antarmuka Aplikasi ................................................. 28 Gambar 4.1 Load Balancing Nginx .................................................................. 32 Gambar 4.2 Halaman Utama ndb_mgm Awal .................................................. 35 Gambar 4.3 Halaman Utama ndb_mgm Jadi ..................................................... 36 Gambar 4.4 Capture dengan Iftop ..................................................................... 39 Gambar 4.5 Web Server Up ............................................................................... 43 Gambar 4.6 Web Server Down .......................................................................... 43 Gambar 4.7 NDBD_Node Sebelum Salah Satu Node Down ............................ 44 Gambar 4.8 Web Server Cluster dengan Dua Node .......................................... 45 Gambar 4.9 MGM_Node Setelah Salah Satu Node Down ................................ 45 Gambar 4.10 Web Server Cluster dengan Satu Node ....................................... 46 Gambar 4.11 Web Server Down Kembali Aktif ................................................ 46
viii
Daftar Tabel
Halaman
Tabel 3.1 Kebutuhan Hardware ....................................................................... 24 Tabel 3.2 Kebutuhan Software .......................................................................... 25 Tabel 4.1 Perbandingan Web Server Tunggal .................................................... 40 Tabel 4.2 Perbandingan Web Server Cluster ..................................................... 41 Tabel 4.3 Perbandingan Web Server Tunggal dan Cluster ................................ 42
ix
Daftar Kode Program
Halaman
Kode Program 4.1 Nginx.conf ............................................................................ 31 Kode Program 4.2 /etc/hosts .............................................................................. 33 Kode Program 4.3 Config.ini ............................................................................. 34 Kode Program 4.4 My.cnf .................................................................................. 36 Kode Program 4.5 Config.php ........................................................................... 37
x
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
xii
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