• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Web Server Clustering dengan Skema Load Balancing Menggunakan NGINX T1 672007121 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Web Server Clustering dengan Skema Load Balancing Menggunakan NGINX T1 672007121 BAB IV"

Copied!
17
0
0

Teks penuh

(1)

Bab 4

Hasil dan Pembahasan

Pada bab ini memuat hasil dan pembahasan yang meliputi implementasi dari perancangan, pengujian dan hasil analisa. Implementasi tersebut meliputi konfigurasi Nginx untuk load

balance, MySQL-Max untuk cluster MySQL serta pengaturan file

nginx.conf, config.ini dan my.cnf.

4.1

Implementasi Sistem

 

4.1.1 Implementasi Balancer

Untuk dapat menggunakan webserver clustering dengan skema load balancing. Pastikan semua paket dan software pendukung telah di-install. Proses instalasinya disesuaikan dengan paket yang di-install pada sistem operasi linux. Jika paketnya adalah

file rpm, maka di-install dengan rpm. Jika file-nya adalah kompresi,

maka dapat langsung di-extract dan di-compile atau dapat langsung menginstal melalui repository yang ada pada setiap linux.

Pada pengaturan load balancer yang menggunakan paket aplikasi Nginx membutuhkan sedikit pengaturan yang ada pada file

/etc/nginx/nginx.conf. Pengaturan dilakukan dengan cara menambahkan baris upstream pada tag http seperti yang terlihat pada Kode Program 4.1.

Kode Program 4.1 Nginx.conf

(2)

9.

Maksud dari Kode Program 4.1 adalah jika user sedang mengakses web server dengan IP load balancer maka secara otomatis load balancer akan mengalihkan request http tersebut langsung ke IP server 192.168.1.3 dan IP 192.168.1.4 secara seimbang sesuai dengan jumlah request user. Apabila semua pengaturan tersebut sudah dilakukan secara benar, maka load

balancing siap untuk menjalankan fungsinya bagi real server. Selain

pengaturan nginx.conf, pada load balancer juga dilakukan pengaturan DNS (Domain Name System) pada paket aplikasi Bind9 dengan membuat DNS bernama sia.tunashararapan.edu. Gambar 4.1 merupakan tampilan apabila nginx sudah selesai dikonfigurasi.

Gambar 4.1 Load Balancing Nginx

4.1.2 Implementasi Clusterware

(3)

menyediakan mesin penyimpanan NDB yang bisa dihubungkan untuk menjadi sebuah cluster. Cluster yang dibangun menggunakan dua buah mesin NDB (node) untuk web server sekaligus sebagai

storage server dan menggunakan sebuah mesin management untuk

mengatur mesin NDB serta satu buah PC sebagai server balancer untuk mengatur request dari user. Kedua node yang tergabung dalam mesin NDB nantinya akan mengakses storage server yang ada pada dirinya sendiri (sesuai dengan cara kerja MySQL cluster yaitu shared-nothing). Supaya dapat berkomunikasi dengan baik, setiap node harus memiliki alamat IP yang sesuai pada setiap

network interfaces dan harus didefinisikan juga alamat IP dari setiap

node yang digunakan. Definisi tersebut disimpan didalam sebuah

host file dengan nama hosts yang terletak didalam folder /etc/hosts

pada PC balancer seperti yang terlihat pada Kode Program 4.2. Kode Program 4.2 /etc/hosts

1. 192.168.1.1 balancer

2. 192.168.1.2 management

3. 192.168.1.3 node1

4. 192.168.1.4 node2

Kode Program 4.2 menjelaskan bahwa IP 192.168.1.1 digunakan oleh PC balancer, IP 192.168.1.2 oleh PC management, IP 192.168.1.3 oleh PC node1, dan IP 192.168.1.4 digunakan oleh PC node2. Selain sebagai definisi PC yang digunakan oleh cluster, definisi tersebut juga digunakan untuk menjalankan protokol ssh sebagai remote server dari PC balancer.

Pengaturan pertama pada server management membutuhkan paket aplikasi MySQL-Cluster yang bernama

mysql-max-5.0.19-linux-i686-glibc23.tar yang di ekstrak di folder /usr/src/mysql-mgm.

(4)

membuat file config.ini yang ada pada /var/lib/mysql-cluster/config.ini dengan memasukkan kode program seperti pada

Kode Program 4.2. Kode Program 4.3 Config.ini

1. [NDBD DEFAULT]

2. NoOfReplicas=2

3.

4. [MYSQLD DEFAULT]

5.

6. [NDB_MGMD DEFAULT]

7.

15. DataDir= /var/lib/mysql-cluster

16.

Maksud dari Kode Program 4.3 adalah pada tag [NDBD DEFAULT] menjelaskan bahwa jumlah server yang dicluster adalah 2 komputer dengan IP 192.168.1.3 dan IP 192.168.1.4 yang terlihat pada baris 13 sampai baris 19. Sedangkan pada tag [NDB_MGMD] merupakan IP dari server management yang bertugas mengatur

server NDB. Apabila semua konfigurasi sudah dilakukan dengan

benar maka server MGM dapat memulai fungsinya sebagai

(5)

Gambar 4.2 Halaman Utama ndb_mgm Awal

Gambar 4.2 menjelaskan bahwa server management ini sama sekali belum terhubung dengan server node. Pada tag [ndbd(NDB)] menghubungkan antara server management dengan server node yang mempunyai IP 192.168.1.3 dan IP 192.168.1.4. Sedangkan pada tag [mysqld(API)] menghubugkan antara server management dengan server node mysql yang ada pada IP 192.168.1.3 dan IP 192.168.1.4.

Pengaturan server NDBD juga sama seperti server

management yakni membutuhkan paket aplikasi MySQL-Cluster

yang bernama mysql-max-5.0.19-linux-i686-glibc23.tar serta beberapa paket aplikasi web server diantaranya yaitu mysql-server,

mysql-client, apache2, php5, libapache2-mod-php5, php5-mysql,

php5-curl, php5-gd, php5-idn, php-pear, php5-imagick, php5-imap,

php5-mcrypt, php5-memcache, php5-ming, php5-ps, php5-pspell,

php5-recode, php5-snmp, php5-sqlite, php5-tidy, php5-xmlrpc,

php5-xsl dan phpmyadmin yang diinstall langsung dari repository

linux ubuntu 11.04. Pengaturan pada server NDBD dilakukan pada

file my.cnf yang terletak pada folder /etc/my.cnf dengan cara

(6)

Pengaturan dilakukan dengan cara menambahkan baris ndbcluster pada tag mysqld dan menambahkan tag mysql_cluster pada akhir baris kode program yang terlihat pada Kode Program 4.3.

Kode Program 4.4 My.cnf

1. ...

Maksud dari Kode Program 4.4 adalah pada tag [mysqld] menjelaskan bahwa MySQL server NDBD akan dihubungkan ke

server MGM dengan IP 192.168.1.2 dan port mysqld 1186.

Sedangkan baris program ke 11 dan 12 menjelaskan bahwa MySQL pada server NDBD dihubungkan ke server MGM untuk menjadi satu kesatuan cluster. Apabila semua konfigurasi pada server NDB ini sudah dilakukan dengan benar maka pada server MGM yang semula server id tidak terhubung akan menjadi terhubung, seperti terlihat pada Gambar 4.3.

(7)

Gambar 4.3 menjelaskan bahwa server management sudah terhubung dengan server node. Pada tag [ndbd(NDB)] menghubugkan antara server management dengan server node yang mempunyai IP 192.168.1.3 yang berfungsi sebagai master node dan IP 192.168.1.4. Sedangkan pada tag [mysqld(API)] menghubugkan antara server management dengan server node mysql yang ada pada IP 192.168.1.3 dan IP 192.168.1.4.

4.1.3 Impelementasi Database

Untuk implementasi basis data beserta tabel-tabelnya dapat dilihat pada Lampiran 3.

Setelah dilakukan implementasi basis data dan tabel-tabelnya, selanjutnya dilakukan pengaturan untuk menghubungkan basis data yang sudah dibuat dengan aplikasi yang dibuat. Pengaturan ini dilakukan pada file config.php. Pengaturan dapat dilihat pada Kode Program 4.5.

Kode Program 4.5 Config.php

1. <?php

7. $conn=mysql_pconnect($host, $user, $pass)or die('Maaf,Koneksi

gagal terhubung ke server');

8. mysql_select_db($db)or die('Database Can\'t be Selected!');

9. ?>

(8)

4.2

Pengujian Sistem

Pada tahapan ini dilakukan pengujian diantaranya pengujian

load balancing yaitu pengujian mesin NDB, perpindahan migrasi

beban dan pengujian terhadap kinerja MySQL cluster. Dalam pengujian MySQL cluster akan dilihat dari segi kecepatan, beban dan availabilitas dari web server.

4.2.1 Pengujian Load Balancing

Pengujian load balancing dilakukan untuk melihat node manakah yang melayani request dari user ketika terjadi banyak

request terhadap web server, serta apakah pembagian kerja atau

penyamarataan kerja dari web server terhadap request dari user sudah berjalan dengan baik. Pengujian ini dilakukan dengan menggunakan iftop yang merupakan salah satu aplikasi monitoring jaringan untuk melihat traffic jaringan secara realtime.

Pengujian dengan melihat jumlah paket yang lewat dari user ke load balancing. Jika load balancing sudah bekerja dengan baik, maka setiap ada request dari user akan dialihkan ke masing-masing

web server (node) yang ada pada cluster. Sehingga user hanya

melakukan request ke IP atau hostname dari balancer. Padahal yang sebenarnya terjadi adalah balancer tidak mengerjakan request dari

user, tetapi balancer hanya mengalihkan dan membaginya kepada

(9)

Gambar 4.4 Capture dengan Iftop

Gambar 4.4 menunjukkan bahwa balancer sudah bekerja dengan baik. Hal itu ditunjukkan dengan pembagian kerja kepada

node1 dan node2 secara merata. Terlihat dari tiga kolom paling

kanan pada node1, disana ada 21,3Kb 14,2Kb 8,53Kb. Mulai dari paling kiri, merupakan jumlah data yang diterima oleh node1 dalam selang waktu 2 detik yaitu sebanyak 21,3Kb. Kolom berikutnya menunjukan data yang diterima dalam waktu 10 detik yaitu sebanyak 14,2Kb, dan yang terakhir dalam jangka waktu 40 detik yaitu sebanyak 8,53Kb. Kemudian node2 juga terlihat hampir sama yaitu dalam selang waktu 2 detik yaitu sebanyak 21,2Kb. Kolom berikutnya menunjukan data yang diterima dalam waktu 10 detik yaitu sebanyak 14,1Kb, dan yang terakhir dalam jangka waktu 40 detik yaitu sebanyak 8,61Kb.

4.2.2 Pengujian Kecepatan (SpeedUp)

Setelah bisa dipastikan bahwa mesin NDB dan storage server berjalan dengan baik, selanjutnya dilakukan pengujian web server

cluster. Pengujian web server cluster dilakukan secara bertahap,

(10)

tunggal). Pengujian ini berfungsi untuk melihat kecepatan masing-masing web server dalam menangani request dari user. Tahap yang kedua adalah dengan melakukan pengujian web server cluster, pengujian ini bertujuan untuk mengetahui apakah terjadi peningkatan kecepatan (speedup) terhadap request dari user.

o Web Server Tunggal

Pengujian ini dilakukan dengan simulasi menggunakan program yang mampu mengakses server dengan beberapa user secara bersamaan. Pengujian ini dilakukan dengan melihat kecepatan pada salah satu web server (node) dengan menggunakan bantuan aplikasi web server stress tool yang mampu melakukan pengujian dengan melihat kecepatan akses setiap user yang meminta

request kepada web server. Proses pengujian tersebut didapatkan

hasil seperti pada Tabel 4.1.

Tabel 4.1 Perbandingan Web Server Tunggal

(11)

17 16.093 399,39

18 14.630 18,47

19 16.093 530,55

20 14.630 13,92

Rata-rata 16.093 132,587

o Web Server Cluster

Pada tahap ini pengujiannya dilakukan hampir sama pada pengujian web server tunggal. Namun dalam melakukan pengujian pengaksesan web sever akan dilakukan melalui load balancer (http://www.sia.tunasharapan.edu/), sehingga load balancer akan langsung membagi beban request ke node-node yang ada dalam

cluster. Proses pengujian tersebut didapatkan hasil seperti pada

Tabel 4.2.

Tabel 4.2 Perbandingan Web Server Cluster

(12)

19 16.093 488,11

20 15.994 303,26

Rata-rata 17.137,6 328,8705

o Perbandingan Web Server Tunggal dan Cluster.

Tabel 4.3 Perbandingan Web Server Tunggal dan Cluster

Besar data (Bytes) Kecepatan (kbit/s)

Tunggal 16.093 132,587

Cluster 17.137,6 328,8705

Perbandingan (%) 6,1 59,7

Tabel 4.3 dapat dilihat kelebihan apabila menggunakan web

server cluster, dimana kecepatan untuk mengakses data sebesar

17.137,6 Bytes atau 17,13 Mb user bisa mengaksesnya dengan kecepatan 328,8705 kb/s. Sedangkan pada web server tunggal dengan data sebesar 16.093 Bytes atau 16,1 Mb user bisa mengaksesnya dengan kecepatan 132,587 kb/s. Perbandingan yang ditampilkan dari hasil pengujian dengan selisih besar data yang diakses sebesar 6,1% dengan beda kecepatan akses sebesar 59,7%. Dengan demikian dapat dibuktikan bahwa dengan menggunakan

web server cluster, kecepatan dalam mengakses data lebih cepat dari

pada mengunakan web server tunggal.

4.2.3 Pengujian Availabilitas Web Server

Pengujian pada tahap ini dilihat dari availabilitas antara web

server tunggal dan web server cluster. Pengujian ini berfungsi untuk

melihat apakah dalam web server cluster tetap dapat melayani

(13)

o Web Server Tunggal

Pengujian ini dilakukan dengan cara me-non-aktifkan NIC (Network Interface Card) pada web server tunggal dengan berasumsi bahwa web server tunggal telah mati (down), kemudian dilakukan pengaksesan ke web server tersebut. Hasil pengujian ini dapat dilihat pada Gambar 4.5.

Gambar 4.9 Web Server Up

Gambar 4.5 adalah gambar sebelum web server down. Kemudian gambar setelah web server down dapat dilihat pada Gambat 4.6.

(14)

Gambar 4.6 menunjukkan bahwa pada web server tunggal apabila web server down maka user sudah tidak bisa melakukan

request kepada web server.

o Web Server Cluster

Pengujian ini dilakukan dengan cara yang sama pada pengujian web server tunggal yaitu dengan cara me-non-aktifkan NIC (Network Interface Card) pada salah satu web server (node) yang ada pada cluster dengan berasumsi bahwa web server telah mati (down). Pengujian ini juga dilakukan pengujian pada load

balancer dalam mengimplementasikan availabilitas sistem cluster,

apakah web server clustrer dapat tetap melayani apabila salah satu

node mengalami kematian (down). Hasil pengujian ini dapat dilihat

pada Gambar 4.7 sampai Gambar 4.10.

Gambar 4.7 MGM_Node Sebelum Salah Satu Node Down

(15)

Gambar 4.8 Web Server Cluster dengan Dua Node

Gambar 4.8 memperlihatkan bahwa web server cluster masih berjalan dengan baik dalam melayani request dari user. Kemudian apabila salah satu node dalam cluster dimatikan akan terlihat seperti Gambar 4.9.

Gambar 4.9 MGM_Node Setelah Salah Satu Node Down

Gambar 4.9 menunjukkan bahwa salah satu web server (node) dengan IP 192.168.1.3 telah down, tetapi salah satu web server

(node) masih tetap aktif yakni web server server (node) dengan IP

(16)

Gambar 4.10 Web Server Cluster dengan Satu Node

Gambar 4.10 memperlihatkan ternyata sistem load balancing dalam mengimplementasikan availabilitas sistem cluster dapat bekerja dengan baik, karena request dari user masih bisa dilayani dengan baik. Hal tersebut dikarenakan masih adanya web server

(node) yang masih tetap bekerja, sehingga balancer hanya

mengalihkan request dari user tersebut ke web server (node) yang masih aktif. Jika web server yang mengalami (down) sudah diperbaiki, maka web server tersebut akan langsung aktif kedalam anggota cluster.

(17)

4.3

Hasil Analisa

Dari semua hasil pengujian yang telah dilakukan, hasil analisa dari sistem load balancing untuk web server dengan MYSQL

cluster adalah :

o Dengan menggunakan aplikasi nginx sebagai load balancer,

request dari user mampu dibagi ke web server secara merata.

o MySQL cluster mampu memberikan layanan data secara

realtime, karena sistem replikasi data yang ada pada setiap

mesin storage.

o Pengujian dengan menggunakan aplikasi web stress tool, sistem web server cluster mampu memberikan layanan data secara lebih cepat dari pada menggunakan sistem web server tunggal.

o Availabilitas web server dapat terpenuhi dengan baik, hal ini

dibuktikan dengan mematikan salah satu web server dan

request dari user masih bisa dilayani dengan baik. Pengujian

ini juga membuktikan bahwa kinerja dari load balancing sudah berjalan dengan optimal.

Gambar

Gambar 4.1 Load Balancing Nginx
Gambar 4.2 Halaman Utama ndb_mgm Awal
Gambar 4.3 Halaman Utama ndb_mgm  Jadi
Gambar 4.3 menjelaskan bahwa server management sudah
+7

Referensi

Dokumen terkait

80.000.000,00 Dinas Pendidikan, Pemuda dan Olah Raga Sedang Berjalan 01.01.01.27.034 Implementasi PAIKEM (Pembelajaran aktif, inovatif, kreatif, efektif dan menyenangkan) di

Kota Saumlaki merupakan satu pusat pertumbuhan Kabupaten Maluku Tenggara Barat dan memiliki aktivitas perekonomian yang intensif di sekitar wilayah pesisir, namun

- Belanja makanan dan minuman tamu Belanja perjalanan dinas luar daerah setwan Belanja Perjalanan dinas dalam daerah Setwan. Penyediaan Jasa Administrasi Teknis Perkantoran

Namun, dengan potongan asupan pengungsi Australia dari Indonesia setiap tahun, 1.130 orang akan harus tunggu selama waktu maximum tiga tahun lagi di Indonesia jika mau

Penanganan yang dilakukan untuk produk semacam ini adalah dengan dilakukannya proses pencucian ulang atau seandainya kotor tersebut masih tersisa maka botol tersebut

Tujuan pendidikan multikultural di Inggris berorientasi pada untuk mengembangkan pola pikir anak, untuk mengembangkan nilai-nilai moral berbasis toleransi, untuk memahami

[r]

Berdasarkan Tabel Hasil Analisis Regresi Linier didapatkan nilai koefisien determinasi ( R-square ) sebesar 0,167 yang berarti model dapat menjelaskan variasi tingkat