• Tidak ada hasil yang ditemukan

KOMPARASI DISTRIBUTED CACHE DAN CENTRALIZED CACHE PADA WEB PROXY

N/A
N/A
Protected

Academic year: 2021

Membagikan "KOMPARASI DISTRIBUTED CACHE DAN CENTRALIZED CACHE PADA WEB PROXY"

Copied!
108
0
0

Teks penuh

(1)

KOMPARASI DISTRIBUTED CACHE DAN CENTRALIZED

CACHE PADA WEB PROXY

TESIS

PARULIAN 157038015

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2019

(2)

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

PARULIAN 157038015

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2019

(3)
(4)
(5)
(6)

Telah diuji pada Tanggal : 23 Juli 2019

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Dr. Benny Benyamin Nasution

2. Prof. Dr. Herman Mawengkang 3. Dr. Syahril Efendi, S.Si, M.IT

(7)

v

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap (berikut gelar) : Parulian, S.Kom, M.Kom Tempat dan Tanggal Lahir : Hutanamora, 24 April 1988

Alamat Rumah : Jl. Flamboyan Gg. Kemuning No. 8A : Tanjung Selamat - Medan

Handphone / Telepon : 0813 7066 1804

E-mail : [email protected]

Instansi Tempat Berkerja : Universitas HKBP Nommensen Medan Alamat Kantor : Jl. Sutomo No. 4A Medan

DATA PENDIDIKAN

SD : SDN 173290 Butar TAMAT: 2000

SLTP : Santa Maria Tarutung TAMAT: 2003

SLTA : SMU Negeri 1 Tarutung TAMAT: 2006

D3 : Politeknik LP3I Medan TAMAT: 2009

S1 : Institut Sains & Teknologi TD Pardede Medan TAMAT: 2012

(8)

UCAPAN TERIMA KASIH

Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala berkat dan karunia-Nya yang diberikan kepada penulis sehingga dapat menyelesaikan tesis ini dengan judul “KOMPARASI DISTRIBUTED CACHE DAN CENTRALIZED CACHE PADA WEB PROXY”.

Dalam penyusunan untuk menyelesaikan tesis ini, penulis banyak mendapatkan pelajaran yang besar, baik berupa saran maupun nasehat dari berbagai pihak terutama dari dosen pembimbing serta dosen pembanding, sehingga pengerjaan tesis ini dapat diselesaikan dengan baik. Tidak lepas dari dukungan orang tua yang telah banyak memberikan banyak bantuan dan dukungan, sehingga penulis dapat sampai pada tahap penyelesaian tesis ini.

Untuk itu penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum., selaku rektor Universitas Sumatera Utara atas kesempatan yang telah diberikan kepada penulis, sehingga bisa mengikuti dan menyelesaikan pendidikan Magister Teknik Informatika. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu

Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan. 3. Bapak Prof. Dr. Muhammad Zarlis, selaku Ketua Program Studi Pascasarjana

Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.

4. Bapak Dr. Syahril Efendi, S.Si., M.IT., selaku Sekretaris Program Studi Magister Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

5. Bapak Prof. Dr. Muhammad Zarlis, selaku Dosen Pembimbing I yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penulisan tesis ini.

6. Bapak Dr. Benny Benyamin Nasution, selaku Dosen Pembimbing II yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penulisan tesis ini.

(9)

vii

7. Bapak Bapak Prof. Dr. Herman Mawengkang, selaku dosen Pembanding/Penguji yang telah memberikan saran untuk perbaikan dan penyelesaian tesis ini.

8. Bapak Dr. Syahril Efendi, S.Si, M.IT, selaku dosen Pembanding/Penguji yang telah memberikan saran untuk perbaikan dan penyelesaian tesis ini.

9. Bapak dan Ibu dosen yang telah memberikan materi perkuliahan dan ilmu pengetahuan selama penulis menyelesaikan Program Studi Magister Teknik Informatika.

10. Bapak Pdt. Dr. Darwin Lumbantobing, selaku Pembina Yayasan Universitas HKBP Nommensen yang memberikan kesempatan kepada penulis untuk melanjutkan pendidikan ke jenjang Magister Teknik Informatika.

11. Bapak Dr. Ir. Nurdin Tampubolon, MM, selaku Ketua Yayasan Universitas HKBP Nommensen yang memberikan dukungan kepada penulis untuk menyelesaikan pendidikan Magister Teknik Informatika.

12. Bapak Dr. Haposan Siallagan, SH.,MH, selaku Rektor Universitas HKBP Nommensen Medan yang selalu memberikan dorongan dan motivasi kepada penulis dalam menempuh pendidikan Magister Teknik Informatika.

13. Seluruh Dosen dan Staf Universitas HKBP Nommensen Medan.

14. Seluruh Staf pada Program Studi Magister Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

15. Orang tua dan seluruh keluarga, yang selalu memberi semangat dan doa yang tiada putus dan dorongan moril maupun materil kepada penulis sehingga dapat menyelesaikan tesis ini dengan baik.

16. Istri tercinta Novi Handayani Simbolon, SE dan anak saya Harold Benedict Sirait, yang selalu memberi semangat dan doa yang tiada putus dan dorongan moril maupun materil sehingga dapat menyelesaikan tesis ini dengan baik. 17. Teman-teman seperjuangan angkatan 2015 Kom-A yang telah memberikan

dukungan dalam penyelesaian tesis ini.

18. Serta seluruh pihak yang tidak dapat penulis sebutkan satu per satu. Terimaksih atas support dari kalian semua.

Akhir kata penulis berharap semoga karya ilmiah ini dapat bermanfaat bagi semua pihak, khususnya dalam bidang pendidikan. Penulis menyadari bahwa masih ada

(10)

kekurangan dalam penulisan tesis ini, untuk itu penulis mengharapkan kritik dan saran dari pembaca demi kesempurnaan penelitian selanjutnya.

Medan, 23 Juli 2019 Penulis

Parulian 157038015

(11)

ix

ABSTRAK

Caching adalah suatu mekanisme penyimpanan object dari suatu halaman web yang

pernah diakses. Dengan adanya caching, penggunaan bandwidth akan semakin efisien dan waktu untuk mengakses suatu halaman web pun semakin cepat. Dalam caching ada 2 teknik yang dipakai, yaitu centralized cache (cache terpusat) dan distributed cache (cache terdistribusi). Tujuan penelian ini adalah membangun sebuah sistem distributed

cache yang mendukung availability, reliability, dan scalability. Sistem ini akan

mengatasi berbagai permasalahan yang ditemukan pada centralized cache, seperti kegagalan tunggal (single point of failure), tidak reliable, dan tidak scalable. Dengan didukungnya availability, sistem akan terhindar dari masalah single point of failure dengan menerapkan mekanisme failover. Untuk reliability sistem akan tetap tahan (reliable) menerima request dari user, karena beberapa proxy server (parent proxy) akan melayani request dari user. Untuk scalability, sistem dapat menambah proxy

server dengan mudah dan cepat. Untuk melakukan pembangunan sistem, pengembang

melakukan beberapa pendekatan seperti pembelajaran dasar mengenai proxy server dan teori yang terkait. Selanjutnya dilakukan analisis untuk membangun sistem yang mendukung availability, reliability, dan scalability. Kemudian tahap analisis diimplementasikan dan dilakukan pengujian terhadap sistem yang dibangun. Pengujian yang dilakukan adalah pengujian sistem centralized cache dan pengujian sistem

distributed cache. Hasil pengujian kemudian akan dibandingkan untuk melihat

perbandingan performansi antara centralized cache dan distributed cache. Kata kunci: Caching, Centralized, Distributed

(12)

COMPARATION OF DITRIBUTED CACHE AND CENTRALIZED

CACHE ON WEB PROXY

ABSTRACT

Caching is an object storage mechanism from a web page that has been accessed. With caching, bandwidth usage will be more efficient and the time to access a web page is getting faster. In caching there are 2 techniques used, namely centralized cache and distributed cache. The purpose of this study is to build a distributed cache system that supports Availability, Reliability, and Scalability. This system will overcome various problems found in the centralized cache, such as single point of failure, unreliable, and not scalable. With the availability of Availability, the system will avoid the problem of single point of failure by implementing a failover mechanism. For the Reliability system will still hold (reliable) accept requests from users, because some proxy servers (parent proxy) will serve requests from users. For Scalability, the system can add proxy servers easily and quickly. To develop the system, the developer takes several approaches such as basic learning about proxy servers and related theories. Next is an analysis to build a system that supports Availability, Reliability, and Scalability. Then the analysis phase is implemented and testing of the system is built. Tests carried out are testing centralized cache systems and testing distributed cache systems. The test results will then be compared to see the performance comparison between centralized cache and distributed cache.

(13)

xi

DAFTAR ISI

Hal

PERSETUJUAN ... i

PERNYATAAN ... ii

PERNYATAAN PERSETUJUAN PUBLIKASI ... iii

RIWAYAT HIDUP ... v

UCAPAN TERIMAKASIH ... vi

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Tujuan Penelitian ... 2

1.4. Batasan Atau Ruang Lingkup Penelitian ... 3

1.5. Manfaat Penelitian ... 3

BAB 2 TINJAUAN PUSTAKA ... 4

2.1. Komparasi ... 4

2.2. Centralized Cache dan Distributed Cache ... 4

2.3. Cache ... 5

2.4. Protocol ... 6

(14)

2.4.2. Cache Digest ... 6

2.5. Web Proxy Server ... 6

2.6. Nginx ... 8

2.7. Hierarki Proxy ... 10

2.8. Webserver Stress Tool ... 11

2.8.1. Siege ... 11

2.8.2. Apache Bench ... 12

BAB 3 METODOLOGI PENELITIAN ... 13

3.1. Tahapan Penelitian ... 13

3.1.1. Kebutuhan Software ... 14

3.1.2. Kebutuhan Hardware ... 14

3.2. Topologi Centralized Cache ... 15

3.2.1. Topologi Physical ... 15

3.2.2. Topologi Logical ... 16

3.2.2.1. Topologi Logical Cache HIT ... 16

3.2.2.2. Topologi Logical Cache MISS ... 17

3.3. Topologi Distributed Cache ... 18

3.3.1. Topologi Physical ... 18

3.3.2. Topologi Logical ... 19

3.3.2.1. Topologi Logical Cache HIT ... 19

3.3.2.2. Topologi Logical Cache MISS ... 20

3.4. Skenario Pengujian ... 21

3.4.1. Pengujian Reliability ... 21

3.4.1.1. Pengujian Centralized Reliability-1 ... 21

3.4.1.2. Pengujian Centralized Reliability-2 ... 22

3.4.1.3. Pengujian Distributed Reliability-1 ... 23

3.4.1.4. Pengujian Distributed Reliability-2 ... 23

3.4.2. Pengujian Availiability ... 24

3.4.2.1. Pengujian Centralized Availiability-1 ... 24

3.4.2.2. Pengujian Centralized Availiability-2 ... 25

(15)

xiii

3.4.2.4. Pengujian Distributed Availiability-2 ... 26

3.4.3. Pengujian Scalability ... 26

3.4.3.1. Pengujian Centralized Scalability-1 ... 27

3.4.3.2. Pengujian Centralized Scalability -2 ... 27

3.4.3.3. Pengujian Distributed Scalability -1 ... 28

3.4.3.4. Pengujian Distributed Scalability -2 ... 28

BAB 4 HASIL DAN PEMBAHASAN ... 30

4.1. Implementasi ... 30

4.1.1. Spesifikasi Komputer Server ... 31

4.1.2. Instalasi dan Konfigurasi Server ... 33

4.2. Pengujian ... 54

4.2.1. Pengujian Pada Distributed Server Proxy ... 54

4.2.2. Pengujian Pada Centralized Server Proxy ... 59

4.3. Komparasi ... 62

BAB 5 KESIMPULAN DAN SARAN ... 64

5.1. Kesimpulan ... 64

5.2. Saran ... 64

DAFTAR PUSTAKA ... 65

(16)

DAFTAR TABEL

Hal

TABEL 3.1. Pengujian Centralized Reliability-1 ... 22

TABEL 3.2. Pengujian Centralized Reliability-2 ... 22

TABEL 3.3. Pengujian Distributed Reliability-1 ... 23

TABEL 3.4. Pengujian Distributed Reliability-2 ... 23

TABEL 3.5. Pengujian Centralized Availiability-1 ... 24

TABEL 3.6 Pengujian Centralized Availiability-2 ... 25

TABEL 3.7 Pengujian Distributed Availiability-1 ... 25

TABEL 3.8 Pengujian Distributed Availiability-2 ... 26

TABEL 3.9 Pengujian Centralized Scalability-1 ... 27

TABEL 3.10 Pengujian Centralized Scalability-2 ... 27

TABEL 3.11 Pengujian Distributed Scalability-1... 28

TABEL 3.12 Pengujian Distributed Scalability-2... 28

TABEL 4.1 Spesifikasi Server dan Sistem Operasi ... 31

TABEL 4.2 Komparasi Percobaan 1 ... 62

TABEL 4.3 Komparasi Percobaan 2 ... 63

(17)

xv

DAFTAR GAMBAR

Hal

GAMBAR 2.1. Centralized dan Distributed ... 5

GAMBAR 2.2. Proxy Server ... 7

GAMBAR 2.3. Reverse Proxy ... 10

GAMBAR 2.4. Hierarki Proxy ... 11

GAMBAR 3.1 Tahapan Penelitian ... 13

GAMBAR 3.2 Topologi Physical Centralized ... 15

GAMBAR 3.3 Topologi Logical Cache HIT pada Centralized Cache ... 16

GAMBAR 3.4 Topologi Logical Cache MISS pada Centralized Cache ... 17

GAMBAR 3.5 Topologi Physical Distributed ... 18

GAMBAR 3.6 Topologi Logical Cache HIT ... 19

GAMBAR 3.7 Topologi Logical Cache MISS ... 20

GAMBAR 4.1 Arsitektur Virtualisasi ... 30

GAMBAR 4.2 Topologi Jaringan Virtualisasi ... 33

GAMBAR 4.3 Tampilan Portal oVirt Engine ... 34

GAMBAR 4.4 Node yang sudah di add ke engine ... 36

GAMBAR 4.5 Install ISO ... 37

GAMBAR 4.6 Metode Hash ... 43

GAMBAR 4.7 Pengujian Availiability 3000 user pada distributed proxy ... 54

GAMBAR 4.8 Konversi File Grafik Availiability ... 55

GAMBAR 4.9 Grafik Pengujian Sistem Distributed Availiability 3000 user .. 55

GAMBAR 4.10 Pengujian Reliability 3000 user pada distributed proxy ... 56

GAMBAR 4.11 Konveksi File Grafik Reliability ... 56

GAMBAR 4.12 Grafik Pengujian Sistem Distributed Reliability 3000 user ... 57

GAMBAR 4.13 Pengujian Scalability 5000 user pada distributed proxy ... 58

GAMBAR 4.14 Konversi File Grafik Scalability ... 58

GAMBAR 4.15 Grafik Pengujian Sistem Distributed Scalability 5000 user ... 58

GAMBAR 4.16 Pengujian Availiability pada centralized proxy ... 59

(18)

GAMBAR 4.18 Konversi File Grafik Reliability ... 60

GAMBAR 4.19 Grafik Pengujian Sistem Centralized Reliability 3000 user ... 60

GAMBAR 4.20 Pengujian Scalability pada centralized proxy ... 61

GAMBAR 4.21 Konversi File Grafik Scalability ... 61

(19)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi yang sangat pesat dimulai dengan sistem komputer

stand-alone sampai terhubung dengan internet. Hampir seluruh sektor telah memanfaatkan

sistem teknologi informasi untuk membantu pekerjaan sehari-hari (Hu, et al, 1999). Dalam perkembangan teknologi informasi, informasi mudah didapatkan dengan cepat melalui teknologi jaringan komputer yang dikenal dengan Internet. Masalah yang sering terjadi pada penggunaan internet saat ini adalah kecepatan pengaksesan informasi yang diinginkan tergantung dari besarnya ketersediaan bandwidth yang dimiliki untuk menghasilkan komunikasi yang cepat (Foster, 2003).

Pada penerapan teknologi internet, batasan bandwidth yang tersedia menjadi tantangan terhadap kenyamanan user dalam mengakses internet, contohnya di dalam suatu organisasi yang mengalami pertambahan jumlah user yang cukup besar. Jika besar bandwidth yang digunakan tetap sama, maka user akan mendapatkan slow

response dari web proxy. Teknologi yang semakin hari membutuhkan bandwidth yang

besar juga menjadi pertimbangan dalam menyediakan jumlah bandwidth bagi setiap

user (Tanembaum, 2003). Untuk mengatasi permasalahan bandwidth, maka dicari

solusi untuk mengoptimalkan penggunaan bandwidth dengan menggunakan teknik

caching.

Teknik Caching adalah suatu teknik yang menggunakan cache untuk menyimpan dokumen web sementara, seperti halaman HTML, dan gambar yang sebelumnya pernah diakses oleh user. Dengan menggunakan teknik caching dapat mengurangi penggunaan bandwidth untuk me-request halaman yang sama ke origin

server, sehingga pengguna merasakan transfer data yang lebih cepat karena data yang

(20)

Dalam teknik caching ada 3 (tiga) sistem yang dikenal yaitu, tanpa proxy

server, centralized caching web proxy server dan yang terakhir distributed caching web proxy server. Sistem yang umum digunakan adalah centralized caching proxy server,

pada teknik centralized caching proxy server ditemukan masalah terhadap avaliability,

reliability, dan scalability yang harus dimiliki sebuah sistem yang handal. Masalah avaliability yang dihadapi oleh teknik ini adalah ketika single proxy web server down

dan tidak ada backup server untuk menangani request user, sedangkan masalah untuk

reliability kemungkinan single web proxy server tidak dapat menangani request yang

banyak dari user, dan masalah terakhir adalah scalability yaitu ketika jumlah pengguna bertambah, centralized caching proxy server tidak dapat dikembangkan dengan mudah. Berdasarkan permasalahan yang dihadapi oleh centralized web proxy server maka diperlukan solusi untuk mengatasi masalah tersebut, salah satunya adalah dengan menggunakan distributed caching proxy server (Piatek 2004). Teknik ini akan mendistribusikan cache ke beberapa web proxy server, sehingga dapat mendukung

availability dari segi tersedianya backup server, reliability dari segi penanganan

(pendistribusian) request, dan scalability dari segi pengembangan sistem (penambahan

web proxy) jika jumlah pengguna bertambah.

1.2. Rumusan Penelitian

Berdasarkan latar belakang yang sudah dijelaskan maka perumusan masalah dalam penelitian ini adalah perlu untuk menganalisis komparasi distributed cache dengan

centralized cache dan pemanfaatan efektifitas dari sistem distributed cache dan sistem centralized cache pada web proxy dalam menangani request dari setiap user.

1.3. Tujuan Penelitian

Tujuan penelitian ini adalah untuk mendapatkan hasil evaluasi komparasi dari sistem

distributed cache dan centralized cache dengan cara mensinergikan protokol

pendukung yang digunakan, sehingga di dapat hasil performansi yang paling efisien dan efektif untuk diimplementasikan. Dengan adanya hasil evaluasi komparasi dari sistem

distributed cache dan centralized cache ini maka akan membantu setiap administrator

(21)

3

1.4. Batasan atau Ruang Lingkup Penelitian

Dalam penelitian ini terdapat beberapa batasan dalam pembahasan yang dilakukan antara lain:

a. Menggunakan aplikasi web proxy yang open-source untuk menguji sistem

centralized cache dan sistem distributed cache.

b. Mengetahui seberapa baik performa aplikasi web server dan seberapa banyak client atau koneksi yang bisa ditangani oleh web server.

c. Mengevaluasi hasil komparasi sistem centralized cache dan sistem

distributed cache dengan teknik virtualisasi.

1.5 Manfaat Penelitian

Manfaat yang diperoleh dari penelitian ini adalah sebagai berikut:

a. Mendapatkan hasil komparasi antara distributed cache dengan centralized

cache.

b. Mendapatkan teknik virtualisasi yang baik untuk diterapkan c. Mengetahui performa web server yang telah dibangun.

(22)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini dijelaskan berbagai teori yang mendasari pengerjaan penelitian ini berdasarkan studi dan eksplorasi pustaka. Teori tersebut mencakup cache, protokol, dan proxy.

2.1. Komparasi

Komparasi adalah untuk mengetahui dan menguji perbedaan dua kelompok atau lebih. Penelitian komparasi juga adalah penelitian yang dilakukan untuk membandingkan suatu variabel (objek penelitian), antara subjek yang berbeda atau waktu yang berbeda dan menemukan hubungan sebab-akibatnya. Metode komparasi adalah suatu metode yang digunakan untuk membandingkan data yang ditarik ke dalam konklusi baru. Komparasi sendiri dari bahasa inggris, yaitu compare, yang artinya membandingkan untuk menemukan persamaan dari kedua konsep atau lebih.

Mohammad Nazir (2005 : 8) mengemukakan bahwa studi komparasi adalah sejenis penelitian yang ingin mencari jawaban secara mendasar tentang sebab akibat, dengan menganalisa faktor penyebab terjadinya maupun munculnya suatu fenomena tertentu. Dalam hal ini, komparasi dilakukan terhadap performansi distributed cache dan centralized cache pada web proxy. Adapun beberapa parameter yang akan digunakan adalah bandwidth, speed, cache hit ratio.

2.2 Centralized Cache dan Distributed Cache

Centralized cache merupakan chace terpusat yang dapat menampung semua data

organisasi komputer pusat seperti komputer mainframe atau server. Distributed Cache adalah metode untuk mengkonfigurasi cache data untuk menjangkau beberapa server, menyimpan permintaan umum dan memungkinkan pengambilan secara cepat. Cache terdistribusi tersebut digunakan pada server web dan server aplikasi untuk menyediakan

(23)

5

penyimpanan non-lokal untuk redundansi yang lebih baik. Data yang tersimpan dalam

cache terdistribusi umumnya ditentukan oleh apa yang paling sering diakses pengguna

dari server web atau aplikasi tertentu. Seperti yang diminta sebelumnya, potongan data dibiarkan tidak terbaca, data yang baru-baru ini diminta lebih diutamakan, data lama akhirnya terhapus dari cache.

Gambar 2.1 Centralize dan Distributed

2.3 Cache

Cache adalah sebuah media penyimpanan sesuatu secara sementara yang digunakan

untuk menyimpan data/ instruksi yang pernah diakses. Cache membuat kita tidak perlu me-request ulang objek yang pernah kita akses ke original server. Caching merupakan sebuah cara untuk menyimpan objek-objek internet yang diminta (seperti halnya pada halaman web) yang dapat diakses melalui HTTP dan FTP. Caching merupakan sebuah cara sederhana dan efektif guna meningkatkan performa aplikasi web.

(24)

2.4 Protokol

Protokol adalah suatu tool yang mendukung pengoptimalan performansi cache terdistribusi, adapun beberapa protokol yang dapat digunakan adalah HTCP dan Cache

Digest. Protokol – protokol ini akan dikombinasikan untuk mengatasi berbagai

kelemahan-kelemahan yang terdapat disetiap protokol. Adapun kegunaan protokol ini adalah membantu pendistribusian cache, mencari letak objek yang di-request oleh user di dalam penyimpanan cache, serta mampu meningkatkan cache hit ratio (rasio Objek yang di-request oleh user ada didalam cache).

2.4.1 HTCP

Hypertext Caching Protocol (HTCP) adalah protokol yang menggantikan ICP, dimana

protokol ini telah mengatasi berbagai permasalahan yang ditemui di protokol ICP. Protokol ini juga digunakan untuk menemukan cache HTTP dan data cache. Untuk versi HTTP/1.1 atau yang terbaru HTCP lebih baik jika dibandingkan ICP, karena dapat menghasilkan Hit Rate yang lebih baik.

2.4.2 Cache Digest

Cache Digest dibuat untuk mengatasi permasalahan latency dan congestion yang terjadi

di mekanisme komunikasi cache sebelumnya seperti ICP dan HTCP. Berbeda dengan kebanyakan protokol, Cache Digest telah mendukung peering di antara beberapa cache

server, sehingga dimungkinkan untuk melakukan pencarian peer (server) mana yang

mempunyai objek yang di-request oleh user Selain itu, protokol ini juga sudah didukung oleh nginx.

2.5 Web Proxy Server

Dalam jaringan komputer, sebuah web proxy server adalah sebuah server yang berperan sebagai penghubung antara request dari client ke server (Warman & Zahni, 2013).

Proxy server bertindak sebagai gateway untuk setiap komputer client. Sebuah client

(25)

7

page, atau resource lain yang berada di server yang berbeda. Pada saat ini proxy

seringkali digunakan dalam distributed system.

Proxy memiliki 3 fungsi utama, yaitu:

a. Gateway (Connection Sharing)

Proxy dapat digunakan sebagai gateway dari semua komputer yang terdapat

pada jaringan lokal yaitu dengan cara semua komputer yang berada pada jaringan lokal menggunakan alamat IP publik yang dimiliki oleh proxy

server sehingga setiap computer yang ada pada jaringan lokal tidak harus

memiliki alamat IP publik untuk mengakses internet. b. Firewall (Filtering)

Proxy bekerja pada layer aplikasi sesuai dengan aturan OSI Layer, maka filtering yang dilakukan oleh proxy lebih baik daripada firewall biasa karena

dapat mengecek URL dari permintaan akses keluar untuk halaman web. Dengan kemampuan tersebut, administrator dapat melarang atau mengijinkan akses ke domain tertentu.

c. Caching

Yaitu proxy server memiliki mekanisme penyimpanan objek-objek yang sudah pernah diminta dari sever-server di Internet, biasanya disebut

caching. Caching proxy menyimpan data yang sering diminta oleh client ke

suatu tempat penyimpanan di server

(26)

Beberapa keuntungan dan kerugian menggunakan proxy server. Adapun yang menjadi keuntungan penggunaan proxy server adalah sebagai berikut:

a. Dapat menghemat biaya bandwidth.

b. Mempercepat koneksi karena file-file web yang direquest (selanjutnya disebut object) disimpan di dalam cache sehingga tidak perlu keluar menuju Internet.

c. Dapat melakukan pembatasan untuk file-file tertentu.

d. Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs porno).

e. Dapat melakukan pembatasan download untuk file-file tertentu (misalnya file-file mp3,wav, dsb).

f. Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk

download.

g. Dapat melakukan pembatasan siapa saja yang boleh mengakses Internet dengan menggunakan autentikasi. Autentikasi yang biasa digunakan bisa

basic, digest, ataupun ntlm.

Sedangkan yang menjadi kerugian dari penggunaan proxy server, diuraikan sebagai berikut :

a. Pintu keluar menuju gerbang Internet hanya lewat proxy, sehingga ketika terjadi over-load, akses Internet menjadi lambat.

b. User akan melihat file yang kadaluarsa jika cacheexpiretime-nya terlalu lama, sehingga meskipun di website file tersebut sudah berubah, user masih melihat file yang tersimpan di cache memory.

c. Karena koneksi Internet harus melalui gerbang proxy terlebih dahulu, maka kecepatan akses bisa jadi lebih lambat daripada kita melakukan koneksi langsung. Dalam hal ini keduanya akan mengakses file Internet secara langsung.

2.6 Nginx

Nginx (baca: engine x) adalah sebuah server HTTP dan reverse proxy bebas berbasis open-source yang berkemampuan tinggi, juga dapat digunakan sebagai server proxy IMAP/POP3. Nginx merupakan sebuah perangkat lunak yang berfungsi sebagai web

(27)

9

server (Aivaliotis, 2013). Perangkat lunak ini diciptakan oleh Igor Sysoev pada tahun

2002, dan dirilis untuk pertama kalinya secara umum pada tahun 2004. Saat ini Nginx digunakan oleh 7,65% (22.8juta) nama domain di seluruh dunia. Nginx menggunakan arsitektur asinkron yang berbasis event-driven dalam menangani permintaan (request) (NGINX Software, 2017). Selain untuk web server, nginx juga dapat digunakan untuk

reverse proxy caching, load balancing, media streaming, dan lain sebagainya.

Nginx terkenal karena performanya yang tinggi, stabil, memiliki banyak fitur, mudah dikonfigur, dan menggunakan hanya sedikit sumberdaya pada server. Nginx adalah salah satu dari sebagian kecil perangkat lunak untuk server yang diciptakan untuk mengatasi Problem C10K. Tidak seperti perangkat lunak server yang umum lainnya, Nginx tidak bergantung kepada thread untuk melayani klien. Sebaliknya, Nginx menggunakan arsitektur asynkronus yang lebih stabil. Arsitektur ini membutuhkan lebih sedikit memory, dan yang lebih penting, dapat diperkirakan.

Manfaat dari penggunaan nginx proxy antara lain:

a. Browsing semakin cepat untuk situs yang sudah pernah dibuka. b. Kuota pemakaian Internet atau bandwidth akan lebih irit

c. Penggunaan Internet bisa untuk banyak user (Expandable User)

Cara kerja nginx pertama-tama akan memeriksa request yang datang. Jika

nginx diset dengan autentikasi tertentu, nginx akan memeriksa autentikasi user terlebih

dahulu. Autentikasi ini termasuk subnet area, user account, jenis file yang direquest, alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi nginx. Jika lolos dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telahberada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke Internet tetapi langsung me-reply request dengan objek yang diminta. Jika tidak ada di cache, nginx dapat menghubungi sibling-nya agar bisa saling tukar cache informasi menggunakan protocol icp. Jika masih tidak ada,

nginx akan merequest ke parentnya. Parent harus menyediakan informasi yang diminta,

(28)

Gambar 2.3 Reverse Proxy

Dari gambar diatas dapat dilihat bahwa sebuah proxy dapat meng-handle beberapa web server. Adapun cara kerjanya adalah client akan melakukan akses terhadap sebuah URL misalnya https://www.google.co.id maka secara otomatis client akan melakukan request terlebih dahulu ke proxy server akan tetapi seolah - olah client melakukan request langsung ke web server. Setelah menerima request dari client, maka proxy server akan meneruskan request tersebut ke web server yang dituju.

2.7 Hierarki Proxy

Dalam pengimplementasian sistem distributed cache diperlukan sebuah hierarki proxy. Dalam hierarki ini ada beberapa komponen yang berperan, yaitu:

a. Child proxy

Child proxy akan bertugas sebagai load balancer, child akan menerima request

dari client lalu meneruskannya ke parent proxy. Dalam pemilihan tujuan

request ke parent proxy, child akan memilih berdasarkan algoritma Round-Robin. Algoritma ini akan membagi request (beban) ke beberapa parent proxy.

b. Parent proxy

Parent proxy akan bertugas menerima request yang didapat dari child proxy.

(29)

11

berkomunikasi dengan menggunakan protokol HTTP dan HTCP. Dalam proses melayani request, Pertama sekali parent proxy akan mencari object di

cache directory-nya, jika object tidak ditemukan, parent akan mencari object

ke parent proxy yang lain (sibling-nya). Jika object tidak ditemukan juga,

parent proxy akan me-request object ke origin server. Object yang didapat dari origin server tadi selanjutnya disimpan di cache directory-nya, dan dikirim ke child proxy untuk diteruskan ke client.

Adapun hierarki yang digunakan dalam pendistribusian cache-nya adalah sebagai berikut:

Gambar 2.4 Hierarki Proxy

2.8 Webserver Stress Tool

Webserver stress tool adalah sebuah aplikasi untuk melakukan test pada suatu web server. Aplikasi ini biasanya digunakan untuk menguji apakah sebuah server masih

dapat melakukan performa yang baik ketika jumlah user menambah dengan pesat (Scalability), dan apakah ada kemungkinan web server tidak dapat menangani jumlah

request yang banyak (Reliability). Aplikasi ini akan membuat virtual user yang

dibutuhkan pada saat melakukan test. Adapun aplikasi webserver stress tool yang digunakan dalam penelitian ini adalah Siege.

2.8.1 Siege

Siege adalah aplikasi yang dibuat untuk keperluan stress test dan benchmark webserver. Stress test dan benchmarking diperlukan untuk mengetahui seberapa baik performa

(30)

aplikasi web, dan seberapa banyak client atau koneksi yang bisa ditangani oleh aplikasi tersebut.

2.8.2 Apache Bench

Fungsi Apache Bench yaitu untuk mengetahui performa aplikasi yang telah dibuat, berapa lama waktu yang dibutuhkan untuk melayani beberapa pengguna. Pengujian dilakukan melalui Bash, output menunjukkan performa aplikasi, waktu yang dibutuhkan untuk melayani permintaan, dan besaran data yang ditransfer.

(31)

BAB 3

METODOLOGI PENELITIAN

Dalam meningkatkan kecepatan akses internet, pengaturan topologi jaringan dan penambahan proxy server dapat dilakukan. Dengan adanya proxy server, client tidak perlu mengirim request satu per satu ke internet. Hal ini membuat waktu kecepatan akses client lebih cepat dalam mengirimkan request terhadap suatu website.

Pada bab ini dijelaskan mengenai kebutuhan software dan hardware, topologi pengujian distributed chace (physical dan logical), dan skenario pengujian yang digunakan.

3.1 Tahapan Penelitian

Membuat Topologi

Distributed dan Centralized

Menggunakan Topologi Logical Cache Hit dan Topologi Logical

Cache Miss

Pengujian Centralized Reliability Pengujian Distributed Reliability

Pengujian Distributed Availability Pengujian Centralized Availability

Pengujian Centralized Scalability Pengujian Distributed Scalability

Hasil Response Time

(32)

3.1.1 Kebutuhan Software

Software yang digunakan dalam penelitian ini adalah sebagai berikut:

1. Sistem Operasi Centos sebagai virtual machine yang di-install beberapa

service seperti DNS, HTTP, HTTPS) dan web proxy server nginx.

2. Apache Bench, digunakan untuk melakukan pengujian beban terhadap

web server, aplikasi ini di-install pada komputer server virtual yang

bertugas sebagai server testing. Aplikasi ini juga akan meng-convert hasil pengujian kedalam bentuk grafik.

3. Nginx Proxy Server, digunakan sebagai web proxy. Software ini dipilih karena mendukung penggunaan memori (RAM) sebagai penyimpanan

cache, serta telah Mendukung protokol HTCP, dan Cache Digest sebagai

media komunikasi antar server.

4. Protokol HTCP, dan Cache Digest yang mendukung pengimplementasian

distributed caching mulai dari penyimpanan cache hingga mengambil cache dari disk.

5. Aplikasi Open Virtualisation yang free dan opensource.

3.1.2 Kebutuhan Hardware

Hardware yang digunakan dalam penelitian ini adalah sebagai berikut :

1. 5 (lima) unit PC (Personal Computer) yang akan dijadikan virtualisasi skala enterprise dimanfaatkan sebagai webserver, database server, dns, dan testing. Masing-masing komputer server sudah mendukung 1-Gbps LAN Card.

2. 1 unit router mikrotik, untuk me-manage jaringan internet dan membagi IP (Internet Protocol) ke masing-masing komputer server.

3. 1 unit switch gigabit, sebagai penghubung masing-masing komputer

server ke router.

4. 1 unit laptop tempat pengujian beban web server dan untuk me-remote masing-masing komputer server.

(33)

15

3.2 Topologi Centralized Cache

Topologi ini menjelaskan keterkaitan antar komponen-komponen yang dibutuhkan, serta aliran data yang terjadi di masing-masing perangkat.

3.2.1 Topologi Physical

Topologi Physical menjelaskan keterkaitan antar komponen komponen yang dibutuhkan pada saat pengujian, berikut gambar topologi Physical yang digunakan pada saat pengujian.

ISP

Modem

Router Proxy Server

Switch

Client

Gambar 3.2 Topologi Physical Centralized

Topologi diatas digunakan untuk pengujian centralized caching. Peran komponen pada topologi physical adalah sebagai berikut:

1. Client, perangkat ini digunakan untuk me-request halaman web, yang merupakan virtual user yang dibuat oleh webserver stress tool.

2. Mikrotik, perangkat ini digunakan untuk menghubungkan semua perangkat yang digunakan.

3. Proxy server, perangkat ini digunakan sebagai web proxy yang akan mengatur segala mekanisme centralized caching.

(34)

3.2.2 Topologi Logical

Topologi Logical menggambarkan bagaimana aliran data pada masing-masing komponen pada saat pengujian. Ada 2 topologi logical yang digunakan, yang pertama adalah saat object yang di-request oleh client ada pada web proxy (cache HIT), dan yang kedua saat object yang di-request oleh client tidak ada pada web proxy sehingga

object harus di-request ke Origin Server (cache MISS).

3.2.2.1 Topologi Logical Cache HIT

Topologi logical cache HIT menggambarkan bagaimana aliran data yang terjadi saat terjadi cache HIT. Berikut gambar topologi Logical cache HIT:

Gambar 3.3 Topologi Logical Cache HIT pada Centralized Cache

Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.

1. Pertama request dikirim oleh client melalui browser, router kemudian menerima request tersebut, lalu akan meneruskannya ke proxy server yang bertugas menerima dan menangani request client.

2. Lalu proxy server memproses request client tersebut, proxy server akan menentukan kemana request akan di-forward. Proxy akan mencari tahu apakah

object yang di-request tersebut ada pada cache directory-nya atau tidak. Jika

(35)

17

3.2.2.2 Topologi Logical Cache MISS

Topologi logical cache MISS menggambarkan bagaimana aliran data yang terjadi saat terjadi cache MISS. Berikut gambar topologi logical cache MISS:

Gambar 3.4 Topologi Logical Cache MISS pada Centralized Cache

Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.

1. Pertama request dikirim oleh client melalui browser, router kemudian menerima request tersebut, lalu akan meneruskannya ke proxy server yang bertugas menerima dan menangani request client.

2. Lalu proxy memproses request client tersebut, proxy akan menentukan kemana

request akan di-forward. Saat object tidak ditemukan di proxy, proxy akan

melakukan request ke origin server untuk mendapatkan object yang di-request oleh client.

3. Kemudian Origin Server akan mengirimkan object yang di-request tadi ke

proxy.

4. Proxy akan menyimpan object yang diterimanya dari origin server, dan mengirimkan response ke client.

(36)

3.3 Topologi Distributed Cache

Topologi ini menjelaskan keterkaitan antar komponen-komponen yang dibutuhkan, serta aliran data yang terjadi di masing-masing perangkat.

3.3.1 Topologi Physical

Topologi Physical menjelaskan keterkaitan antar komponen komponen yang dibutuhkan pada saat pengujian, berikut gambar topologi Physical yang digunakan pada saat pengujian.

Gambar 3.5 Topologi Physical Distributed

Topologi diatas digunakan untuk pengujian distributed caching. Peran komponen pada topologi physical adalah sebagai berikut:

1. Client, perangkat ini digunakan untuk me-request halaman web, yang merupakan virtual user yang dibuat oleh webserver stress tool.

2. Mikrotik, perangkat ini digunakan untuk menghubungkan semua perangkat yang digunakan.

3. Proxy server, perangkat ini digunakan sebagai web proxy yang akan mengatur segala mekanisme distributed caching.

(37)

19

3.3.2 Topologi Logical

Topologi Logical menggambarkan bagaimana aliran data pada masing-masing komponen pada saat pengujian. Ada 2 topologi logical yang digunakan, yang pertama adalah saat object yang di-request oleh client ada pada web proxy (cache HIT), dan yang kedua saat object yang di-request oleh client tidak ada pada web proxy sehingga

object harus di-request ke Origin Server.

3.3.2.1 Topologi Logical Cache HIT

Topologi logical cache HIT menggambarkan bagaimana aliran data yang terjadi saat terjadi cache HIT. Berikut gambar topologi Logical cache HIT :

ISP Modem Router Virtual User Child Parent1 Parent2 Cache Object MISS Cache Object HITT Keterangaan :

Request Object ke Proxx y Server Response Object dari Prox y Server

1 4 1 4 2.1 3.1 3.2 2.2 2.1 2.2

Gambar 3.6 Topologi Logical Cache HIT

Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.

1. Pertama request dikirim oleh client melalui browser, Mikrotik kemudian menerima request tersebut, lalu akan meneruskannya ke child/main server yang bertugas menerima dan menangani request client.

2. Lalu child proxy memproses request client tersebut, child proxy akan menentukan kemana request akan di-forward. Disinilah fungsi Load

Balancing dari child proxy, dimana dia membagi load yang diterimanya ke

beberapa proxy server (parent proxy 1 dan parent proxy 2). Adapun algoritma

Load Balancing yang digunakan adalah Round-Robin, Algoritma ini akan

(38)

server akan meneruskan request dari client ke parent proxy 1, sedangkan pada

proses 2.2 child server akan meneruskan request dari client ke parent proxy 2. Ketika parent proxy telah menerima request dari child proxy, parent proxy akan mencari tahu apakah object yang di-request tersebut ada pada cache

directory-nya atau tidak. Jika ditemukan, parent proxy akan mengirimkan object tersebut ke child proxy, lalu child proxy akan mengirimkan response ke client. Jika tidak ditemukan, parent proxy akan mencari object tersebut ke parent proxy lain

3.3.2.2 Topologi Logical Cache MISS

Topologi logical cache MISS menggambarkan bagaimana aliran data yang terjadi saat terjadi cache MISS. Berikut gambar topologi logical cache MISS:

ISP Modem Router Virtual User Child Parent1 Parent2 Cache Object MISS

Cache Object MISS Keterangaan :

Request Object ke Proxx y Server Response Object dari Prox y Server

Request Object ke Orig in Server Response Object dari Orig in Server

1 5 4 5 2 5 3 1 Cache Object SAVED 4 3

Gambar 3.7 Topologi Logical Cache MISS

Penjelasan mengenai masing-masing proses yang terjadi adalah sebagai berikut.

1. Pertama request dikirim oleh client melalui browser, Mikrotik kemudian menerima request tersebut, lalu akan meneruskannya ke child/main server yang bertugas menerima dan menangani request client.

2. Lalu child proxy memproses request client tersebut, child proxy akan menentukan kemana request akan di-forward. Disinilah fungsi Load

Balancing dari child proxy, dimana dia membagi load yang diterimanya ke

beberapa proxy server (parent proxy 1 dan parent proxy 2). Adapun algoritma

(39)

21

membagi request (beban) ke beberapa parent proxy. Pada proses 2.1 child

server akan meneruskan request dari client ke parent proxy 1, sedangkan pada

proses 2.2 child server akan meneruskan request dari client ke parent proxy 2. 3. Saat object tidak ditemukan di parent proxy, parent proxy akan melakukan

request ke origin server untuk mendapatkan object yang di-request oleh client.

4. Kemudian Origin Server akan mengirimkan object yang di-request tadi ke

parent proxy.

5. Parent proxy akan menyimpan object yang diterimanya dari origin server, dan mengirimkan response ke child proxy. Kemudian Child proxy mengirimkan

response ke client.

3.4 Skenario Pengujian

Skenario pengujian menjelaskan bagaimana mengevaluasi performansi web proxy

server. Hasil pengujian ini diharapkan dapat menjadi evaluasi, untuk membantu

meningkatkan performansi web proxy server. Adapun karakteristik yang ingin diuji adalah Reliability, Availability, dan Scalability. Reliability adalah kemampuan server dalam menangani request atau permintaan yang banyak dari user atau pengguna,

Availiability adalah ketersediaan server apabila server utama down atau mati, sedangkan Scalability adalah kemampuan server dalam menangani request atau permintaan ketika

jumlah user atau pengguna bertambah.

Berikut merupakan skenario yang akan digunakan pada saat pengujian web

proxy server.

3.4.1 Pengujian Reliability

Pengujian Reliability dilakukan untuk melihat kemampuan sistem apakah tetap reliable ketika jumlah request yang diberikan ke server bertambah. Pada pengujian Reliability, dilakukan perbedaan pada jumlah user. Berikut skenario yang dipakai untuk menguji

Reliability sistem:

3.4.1.1 Skenario Pengujian Centralized Reliability -1

Skenario pengujian ini dilakukan untuk melihat Reliability dari sistem centralized. Pada skenario ini digunakan 3000 user.

(40)

Tabel 3.1. Pengujian Centralized Reliability -1

Pengujian Reliabiliy (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 3000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke PNG dalam bentuk grafik.

3.4.1.2 Skenario Pengujian Centralized Reliability -2

Skenario pengujian ini dilakukan untuk melihat Reliability dari sistem centralized. Pada skenario ini digunakan 5000 user.

Tabel 3.2. Pengujian Centralized Reliability -2

Pengujian Reliabiliy (2)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 5000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

(41)

23

3.4.1.3 Skenario Pengujian Distributed Reliability -1

Skenario pengujian ini dilakukan untuk melihat Reliability dari sistem distributed. Pada skenario ini digunakan 3000 user.

Tabel 3.3. Pengujian Distributed Reliability -1

Pengujian Reliabiliy (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 3000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke PNG dalam bentuk grafik.

3.4.1.4 Skenario Pengujian Distributed Reliability -2

Skenario pengujian ini dilakukan untuk melihat Reliability dari sistem distributed. Pada skenario ini digunakan 5000 user.

Tabel 3.4. Pengujian Distributed Reliability -2

Pengujian Reliabiliy (2)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

(42)

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 5000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.2 Pengujian Availability

Pengujian Availability dilakukan untuk melihat kemampuan sistem apakah tetap

Available child proxy down (mati). Pengujian Availability dilakukan pada sistem distributed cache. Pada pengujian Availability, diterapkan mekanisme failover, dimana

jika main child proxy down, backup child proxy akan menggantikan tugas main child

proxy. Berikut skenario yang dipakai untuk menguji Availability sistem: 3.4.2.1 Skenario Pengujian Centralized Availability-1

Skenario pengujian ini dilakukan untuk melihat Availability dari sistem centralized. Pada skenario ini akan dilihat bagaimana mekanisme failover berjalan ketika main child

proxy mati (down).

Tabel 3.5. Pengujian Centralized Availability-1

Pengujian Availability (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 3000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

(43)

25

3.4.2.2 Skenario Pengujian Centralized Availability-2

Tabel 3.6. Pengujian Centralized Availability-2

Pengujian Availability (2)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 5000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.2.3 Skenario Pengujian Distributed Availability-1

Skenario pengujian ini dilakukan untuk melihat Availability dari sistem distributed. Pada skenario ini akan dilihat bagaimana mekanisme failover berjalan ketika main child

proxy mati (down).

Tabel 3.7. Pengujian Distributed Availability-1

Pengujian Availability (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir - Apache Bench akan membuat request yang

(44)

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.2.4 Skenario Pengujian Distributed Availability-2

Skenario pengujian ini dilakukan untuk melihat Availability dari sistem distributed. Pada skenario ini akan dilihat bagaimana mekanisme failover berjalan ketika main child

proxy mati (down).

Tabel 3.8. Pengujian Distributed Availability-2

Pengujian Availability (2)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 5000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.3 Pengujian Scalability

Pengujian Scalability dilakukan untuk melihat kemampuan sistem apakah tetap

Scalable ketika terjadi penambahan jumlah resource (request, dan user), dan seberapa

cepat sistem dapat menambahkan server yang baru untuk mengatasi overload. Pada pengujian Scalability dilakukan perbandingan hasil pengujian yang didapat dengan menambahkan server dan tanpa menambahkan server. Server yang ditambahkan adalah

(45)

27

3.4.3.1 Skenario Pengujian Centralized Scalability -1

Skenario pengujian yang dibandingkan adalah skenario centralized 3000 user. Tabel 3.9. Pengujian Centralized Scalability-1

Pengujian Scalability (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 3000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.3.2 Skenario Pengujian Centralized Scalability -2

Skenario pengujian yang dibandingkan adalah skenario centralized 5000 user. Tabel 3.10. Pengujian Centralized Scalability-2

Pengujian Scalability (1)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir - Apache Bench akan membuat request yang

(46)

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.3.3 Skenario Pengujian Distributed Scalability -1

Skenario pengujian yang dibandingkan adalah skenario centralized 3000 user. Tabel 3.11. Pengujian Distributed Scalability-1

Pengujian Scalability (1)

Kondisi Awal - Request User 3000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 3000

- Tentukan halaman yang akan di akses - Tentukan port yang digunakan

- Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 3000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

3.4.3.4 Skenario Pengujian Distributed Scalability -2

Skenario pengujian yang dibandingkan adalah skenario centralized 5000 user. Tabel 3.12. Pengujian Distributed Scalability-2

Pengujian Scalability (1)

Kondisi Awal - Request User 5000

- File acces log (nginx) kosong

Alur

- Menggunakan aplikasi Apache Bench - Set user request 5000

(47)

29

- Tentukan port yang digunakan - Tentukan protocol yang digunakan

Hasil Akhir

- Apache Bench akan membuat request yang simultan sebanyak 5000.

- Hasil pengujian akan di generate ke dalam bentuk TSV dan akan di-convert ke bentuk PNG dalam bentuk grafik.

(48)

BAB 4

HASIL DAN PEMBAHASAN

Pada bab ini dijelaskan implementasi bagaimana teknik virtualisasi itu bekerja dan teknik virtualisasi yang digunakan beserta pengujian komparasi Centralize Cache dan

Distributed Cache.

4.1 Implementasi

Perangkat PC (Personal Computer) server yang digunakan berjumlah 5 (lima) unit, 1 (satu) unit sebagai engine, 4 (empat) unit sebagai node. Software yang digunakan untuk virtualisasi adalah oVirt (Open Virtualisation) yang bersifat free dan opesnsource. oVirt terdiri dari 2 (dua) komponen, yaitu oVirt engine dan oVirt node. oVirt engine berfungsi sebagai portal administrator web untuk mengolah virtual machine, komputasi, storage,

network, dan storage. oVirt node bertindak sebagai Hypervisor dimana semua mesin

virtual akan dibuat.

Teknik virtualisasi ini untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Virtualisasi mengacu kepada upaya menciptakan mesin virtual yang bekerja layaknya sebua komputer lengkap dengan sistem operasi.

(49)

31

4.1.1 Spesifikasi Komputer Server

Spesifikasi perangkat komputer server dan sistem operasi yang digunakan sebagai

server virtualisasi, yaitu:

Tabel 4.1 Spesifikasi Server dan Sistem Operasi

Server Uraian

Engine 1. Processor Intel® Core™ i3-6100 CPU @ 3.70GHz 2. RAM 4 GHz

3. Hard Disk 500 GB

4. Sistem Operasi CentOs Linux 7.6

5. LAN Gigabit 6. Aplikasi oVirt

Node-1 1. Processor Intel ® Core™ 2 Duo CPU @ 2.93GHz 2. RAM 4 GHZ

3. Hardisk 250 GB

4. Sistem Operasi oVirt Node 5. LAN Gigabit

Node-2 1. Processor Intel ® Core™ 2 Duo CPU @ 2.93GHz 2. RAM 4 GHZ

3. Hardisk 250 GB

4. Sistem Operasi oVirt Node 5. LAN Gigabit

Node-3 1. Processor Intel ® Core™ 2 Duo CPU @ 2.93GHz 2. RAM 4 GHZ

3. Hardisk 250 GB

4. Sistem Operasi oVirt Node 5. LAN Gigabit

Node-4 1. Processor Intel ® Core™ 2 Duo CPU @ 2.93GHz 2. RAM 4 GHZ

3. Hardisk 250 GB

4. Sistem Operasi oVirt Node 5. LAN Gigabit

(50)

2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Proxy-2 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Proxy-3 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Proxy-4 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

DNS 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Nginx 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Parent Proxy 1. 1 vCPU 2. 1 vRAM 3. Hardisk 20GB

4. Sistem Operasi CentOs Linux 7.6

Topologi Jaringan yang digunakan untuk Server Virtualisasi adalah topologi star. Semua komputer server terhubung ke 1 (satu) switch dengan kabel UTP.

(51)

33

Internet

Engine Node-1 Node-2 Node-3 Node-4

Router

Switch

10.10.10.1/27

10.10.10.10/27 10.10.10.2/27 10.10.10.3/27 10.10.10.4/27 10.10.10.5/27 Gambar 4.2 Topologi Jaringan Virtualisasi

4.1.2 Instalasi dan Konfigurasi Server

Pada sub bab ini dijelaskan bagaimana proses instalasi dan konfigurasi masing-masing komputer server, software atau service yang digunakan dalam penerapan centralized

caching dan distributed caching.

4.1.2.1 Instalasi Sistem Operasi dan Konfigurasi pada Server Engine

1. Step by step instalasi sistem operasi centOS 7 pada server engine. • Booting menggunakan installer centOS.

• Memilih bahasa yang akan digunakan

• Mengatur Localization, Software, dan System • Memilih lokasi yang diinginkan

• Memulai proses instalasi • Membuat password root • Starting Operating System

(52)

2. Konfigurasi engine

Step by step instalasi dan konfigurasi engine

Menginstall update terakhir pada server [root@ovirtengine ~]# yum update -y Memasukkan repository oVirt

[root@ovirtengine ~]# yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release40.rp

Menginstall oVirt

[root@ovirtengine ~]# yum install ovirt-engine –y Konfigurasi oVirt

[root@ovirtengine ~]# engine-setup --generate-answer=/root/answer.txt Konfigurasi Firewall

# firewall-cmd --add-service=http –permanent # sudo firewall-cmd --add-service=https –permanent # firewall-cmd --reload

Akses oVirt engine Web Administration Portal melalui browser dengan cara mengetikkan IP Address komputer server engine pada address bar browser.

(53)

35

4.1.2.2 Instalasi Sistem Operasi pada setiap Server Node

Masing-masing node dari node 1 sampai dengan node 4 di install sistem operasi oVirt.

Node adalah komputer-komputer yang secara fisik yang berbeda akan digabungkan

menjadi 1 (satu) secara sistem dengan oVirt. OVirt node akan bertindak sebagai

Hypervisor atau yang disebut Virtual Machine Monitor yang berfungsi untuk

menjalankan beberapa operating system didalam host operating system tersebut. Tugas

hypervisor adalah untuk mengatur setiap operating system sesuai gilirannya agar tidak

mengganggu operating system lain yang sedang berjalan. Hypervisor tersebut mengatur beberapa sistem sekaligus pada saat yang bersamaan. Proses instalasi operating system pada setiap node sebagai berikut:

• Booting menggunakan installer oVirt • Memilih jenis bahasa yang akan digunakan • Mengatur Localization, Software, dan System • Memilih lokasi yang diinginkan

• Memulai proses instalasi • Membuat password root • Starting Operating System

4.1.2.3 Konfigurasi Server Node

Pada bagian ini masing-masing node di-integrasikan ke engine sehingga terbentuk sebuah server virtual dari beberapa server fisik. Spesifikasi seperti storage atau penyimpanan dan memory atau RAM dari masing-masing node akan digabungkan menjadi 1 (satu). Masing-masing node di konfigurasi hostname, IP Address, Port, dan

User.

Konfigurasi pada masing-masing node yang diterapkan adalah: 1. Menambah node-1 ke engine.

Host Cluster : default Name : node1.tesis IP : 10.10.10.2/27 SSH Port : 22

(54)

2. Menambah node-2 ke engine. Host Cluster : default

Name : node2.tesis IP : 10.10.10.3/27 SSH Port : 22

User : root

3. Menambah node-3 ke engine. Host Cluster : default

Name : node3.tesis IP : 10.10.10.4/27 SSH Port : 22

User : root

4. Menambah node-4 ke engine. Host Cluster : default

Name : node4.tesis IP : 10.10.10.5/27 SSH Port : 22

User : root

Hasil dari host, node-node yang sudah di add ke engine.

Gambar 4.4 Node yang sudah di add ke engine 6. Menginstall NFS Storage pada masing-masing oVirt node

NFS (Network File System) adalah protocol sharing yang digunakan untuk berbagi storage atau resource yang disalurkan melalui network tanpa melihat

(55)

37

client. Mekanisme Network File System ini adalah file terdistribusi, yang

umumnya diimplementasikan dalam lingkungan komputasi yang sumber dayanya terpusat.

[root@nfs ~]# groupadd –g 36 kvm

[root@nfs ~]# useradd –u 36 –g kvm –M –d / -s /sbin/nologin vdsm [root@nfs ~]# mkdir –p /var/lib/ovirt/data

[root@nfs ~]# chown vdsm:kvm /var/lib/ovirt/data

[root@nfs ~]# vi /etc/exports.d/ovirt-engine-data-domain.exports

# set share for Data Doomain (replace ACL settings for your environment) /var/lib/ovirt/data 10.0.0.0/27(rw)

[root@nfs ~]# systemctl restart rpc-statd nfs-server

7. Menginstall ISO Domain pada masing-masing ovirt node

ISO (format untuk image) domain pada ovirt adalah host yang berisi storage ISO yang digunakan untuk menginstall operating system dalam bentuk ISO. Sistem operasi dalam bentuk ISO yang digunakan adalah centOS 7, ISO ini diinstall pada ovirt node-1.

(56)

4.1.2.4 Konfigurasi Virtual Machine

Virtual machine yang di-install sebanyak 7 (tujuh) dengan spesifikasi sebagai berikut:

1. Proxy-1 Hardisk : 40 GB RAM : 1 GB IP : 10.10.10.6/27 2. Proxy-2 Hardisk : 40 GB RAM : 1 GB IP : 10.10.10.7/27 3. Proxy-3 Hardisk : 40 GB RAM : 1 GB IP : 10.10.10.8/27 4. Proxy-4 Hardisk : 40 GB RAM : 1 GB IP : 10.10.10.9/27

4.1.2.5 Install Squid Proxy

Di masing-masing virtual machine proxy-1, virtual machine proxy-2, virtual machine proxy-3, dan virtual machine proxy-4 di install squid. Proses instalasi sebagai berikut:

# yum –y update # yum –y install squid # systemctl start squid # system enable squid

4.1.2.6 Install dan Konfigurasi DNS (Domain Name Server) dan Reverse Proxy

DNS (Domain Name Server) berfungsi sebagai penerjemah IP Address menjadi

hostname ataupun sebaliknya. Hal ini membuat pengguna internet menjadi lebih mudah

Gambar

Gambar 2.1 Centralize dan Distributed
Gambar 2.3 Reverse Proxy
Gambar 3.1 Tahapan Penelitian
Gambar 3.6 Topologi Logical Cache HIT
+7

Referensi

Dokumen terkait

Oleh karena itu keadaan reaktor aluminium corrosion and electrolysis harus dijaga baik agar pemecahan molekul dan proses pasivasi berjalan baik dan dapat menghasilkan flow

Tujuan penelitian ini adalah untuk mengetahui apakah peningkatan hasil belajar Matematika dapat diupayakan melalui model pembelajaran TGT pada siswa kelas 5 SDN Sidorejo

Namun meningkatnya rasio NPL secara tidak langsung juga akan membuat adanya risiko yang besar pada bank tersebut serta menggerus modal perbankan yang ditunjukkan

Permasalahan yang terjadi di lapangan yaitu pembelajaran yang diterapkan oleh guru kurang bervariasi, yaitu hanya menggunakan metode ceramah,diskusi, danitukurang

Penelitian ini juga dibatasi hanya pada aspek hukum, aspek manajemen dan SDM, aspek teknis dan operasional, aspek pasar dan pemasaran, aspek ekonomi dan sosial, aspek politik,

4 Selalu kagum akan kebesaran Tuhan yang menciptakan alam semesta, khususnya fenomena alam yang berkaitan dengan gerak parabola. 3 Sering kagum akan kebesaran Tuhan

Dalam rangka menjamin keselamatan kerja, SKK Migas selaku mengeuarkan pedoman tata kerja mengenai penerapan dan pengembangan sistem manajemen K3 bagi kegiatan operasi produksi

Dengan melihat hasil pengujian yang diperoleh, maka pembuatan sistem ini telah memenuhi tujuan awal dari penelitian, yaitu membuat sistem navigasi gedung SMK Pancasila