02 01 003 Implementasi (Simamora)

Anda mungkin juga menyukai

Anda di halaman 1dari 7

Implementasi dan Analisa Load-Balancing pada suatu Web-Server Lokal

Ariyani Abdullah N. M. P. Simamora Henry Rossi Andrian


1

2 S. 3

1 2

Program studi Teknik Komputer Politeknik TELKOM(ariyani80851@gmail.com)

Program studi Teknik Komputer Politeknik TELKOM(sns@politekniktelkom.ac.id) Program studi Teknik Komputer Politeknik TELKOM(henry.andrian@gmail.com)
Ringkasan

Penyediaan web-server untuk layanan hosting dianggap penting pada sebuah institusi/lembaga pendidikan, khususnya seperti Politeknik TELKOM. Situs, blog, atau forum adalah beberapa contoh implementasi aplikasi berbasis web sebagai sarana untuk berbagi informasi. Penggunaan halaman web menjadi lebih interaktif dan memudahkan pengguna ketika melihat objek pada halaman web tersebut. Perkembangan ini mengakibatkan peningkatan beban pada web server karena meningkatnya kebutuhan untuk melayani permintaan. Pada saat yang sama pengguna mengharapkan peningkatan ketersediaan dan meminimalkan waktu tanggap dari web-server. Dilema ini dapat diselesaikan dengan menerapkan load-balancing antara web-server yang melayani permintaan dari klien. Load-balancing dapat mencegah terjadinya overload melalui penggunaan beberapa server dengan membagi beban. Makalah ini mengambarkan penerapan sistem load balancing pada web-server yaitu dengan menggunakan fungsi Algoritma Round Robin yang disediakan oleh Server DNS (Domain Name System) BIND (Berkeley Internet Name Domain) untuk membagi jumlah permintaan dari klien yang akan menuju ke web-server. Selain itu, perangkat lunak seperti mod backhand digunakan untuk mengalihkan permintaan ketika Server Web Apache tidak mampu melayani permintaan dan memilih web server lain dengan sumber daya yang tersedia lebih besar untuk menangani permintaan tersebut. Penggunaan spread dan wackamole dimaksudkan untuk memastikan bahwa pengguna masih dapat mengakses suatu domain meskipun salah satu web-server down atau dengan kata lain, spread dan wackamole membantu peningkatan ketersediaan dari web-server sehingga tidak perlu khawatir untuk menjalankan layanan DNS Round-Robin. Keywords: load-balancing, server load-balancing, web-server, DNS server, Mod-Backhand, Round-Robin DNS. Kata Kunci : Robot Penjejak Garis, Nirkabel, Frequency Shift Keying.

1 Pendahuluan
Seiring dengan berkembangnya teknologi informasi, penggunaan web untuk mengakses informasi pun semakin banyak digunakan seperti forum dan blog karena dengan mudah pengguna dapat mengakses dan mendapatkan informasi dalam jangka waktu yang relatif singkat dan dapat diakses 24 jam. Di satu sisi, keberadaan web-server pada jaringan intranet sebuah lembaga pendidikan dianggap penting karena baik dosen, mahasiswa maupun staf kampus dapat saling bertukar informasi melalui situs, forum atau blog yang mereka buat. Web-server bertanggung jawab melayani permintaan Hyper-Text Transfer Protocol (HTTP) dari aplikasi klien yang dikenal dengan web-browser. Webserver akan mencari data dari Uniform Resour-

ce Locator (URL) yang diminta dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen Hypertext Markup Language (HTML) dan semua isi (content) dari suatu situs ke komputer klien. Peningkatan permintaan pada situs, menyebabkan web- server sibuk menjawab permintaan klien dan terkadang pula web-server mengalami down atau fail jika terlalu banyak permintaan sehingga web-server tidak dapat menanganinya. Hal ini akan merugikan pihak yang mempercayakan situsnya pada suatu web-server, karena situs-situs tersebut tidak dapat diakses untuk sementara waktu. Parameter seperti waktu tanggap, kemerataan beban dan keberhasilan pelayanan merupakan parameter yang menentukan kinerja suatu web server. Salah satu mekanisme untuk lebih mengoptimalk-

an penggunaan sumber daya yang ada adalah dengan mekanisme load-balancing yang akan menyeimbangkan beban dari seluruh server yang ada pada cluster. Melalui penggunaan mekanisme loadbalancing, permintaan koneksi HTTP yang datang pada web-server akan ditangani oleh server dengan kondisi yang paling baik, dimana pemilihan tersebut dilakukan dengan sistem kandidasi. Berdasarkan latar belakang yang telah dikemukakan sebelumnya, maka rumusan masalah yang diangkat dalam penelitian ini adalah: 1. Bagaimana meningkatkan skalabilitas dari sebuah web-server dengan mendistribusikan beban ke beberapa server untuk mencegah overload. 2. Bagaimana pengolaan sumber daya webserver agar terjadi pemerataan pelayanan terhadap permintaan akses web site (situs) 3. Bagaimana mengarahkan trak pada webserver ke web-server lain sehingga dapat meningkatkan ketersediaan server dan down time dari server dapat diminimalisasi. Adapun batasan masalah pada penelitian ini adalah sebagai berikut: 1. Penelitian menggunakan Sistem Operasi Linux CentOS, dengan alasan free, open-source, dan memiliki utilitas yang banyak sehingga memudahkan pengimplementasian serta penggunaan web server dan DNS server. 2. Penelitian dilakukan di Laboratorium Politeknik TELKOM Bandung menggunakan jaringan LAN (Local Area Network) dan implementasi load-balancing dilakukan dalam satu domain. 3. Penerapan load-balancing pada web server ini akan terdiri dua komputer yang berperan sebagai web-server (dapat bertambah sesuai dengan keperluan) dan satu komputer untuk implementasi Round-Robin pada DNS server. 4. Sistem load-balancing pada web-server ini akan menguji hingga 100 klien ketika web-server tersebut diakses dalam rentang waktu yang berdekatan. 5. Analisa kinerja web-server dilakukan pada beberapa parameter seperti: waktu tanggap, keberhasilan pelayanan, dan kemerataan beban pada masing-masing web-server. 6. Pada penelitian kali ini, tidak memperhatikan aspek jenis media transmisi yang digunakan (wireless atau wireline) dan aspek keamanan web-server. 7. Pengujian load-balancing menggunakan Siege2.69. Tujuan pada penelitian ini adalah:

(a) a.Menganalisa implementasi loadbalancing untuk meningkatkan skalabilitas web-server dengan cara mendistribusikan beban ke beberapa server. (b) Menganalisa ketersediaan dari webserver dengan menerapkan sistem load-balancing yang mengarahkan trak ke server lain sehingga down-time dari web-server dapat diminimalisasi. (c) Menganalisa kinerja web-server dengan diterapkannya sistem load-balancing pada beberapa parameter seperti jumlah transaksi, waktu tanggap, ketersediaan, dan kecepatan transaksi.

2 Landasan Teori
2.1 Web-server
Web-server merupakan perangkat lunak yang melayani permintaan HTTP dari web-browser dan mengirimkan kode-kode dinamis ke server aplikasi. Server aplikasi inilah yang menerjemahkan dan memproses kode-kode dinamis menjadi kode-kode statis HTML dalam suatu halaman statis yang kemudian dikirimkan ke browser oleh web-server. Web-server biasanya disebut juga sebagai HTTP server karena basisnya menggunakan protokol HTTP. Ketika user mengetik sebuah URL atau meng-klik sebuah link, maka web-browser akan mengirimkan permintaan halaman web. Melalui alamat URL, diketahui server mana yang menyimpan halaman web tersebut, selanjutnya server menerima permintaan dan mencari halaman web yang diminta, apabila halaman web yang diminta terdapat di webserver tersebut, maka server akan mengirimkan halaman web yang diminta melalui Jaringan Internet atau Intranet ke browser di komputer klien. Ketika halaman tersebut tiba di komputer, web-browser segera menerjemahkan bahasa hypertext dan menampilkannnya di komputer klien, proses ini hanya berjalan dalam hitungan detik. Komputer klien dapat mengakses homepage dan halaman web secara online apabila terkoneksi ke suatu jaringan komputer, sebab web-server selalu dikoneksikan melalui jaringan komputer. Melalui jaringan inilah komputer klien dapat berinteraksi langsung dengan jutaan web-server yang tersebar di dunia, begitu juga dengan web-server yang akan melayani ribuan bahkan jutaan permintaan halaman web setiap harinya.

2.2

Load-balancing

Load-balancing adalah suatu teknik mendistribusikan beban kerja (workload) secara merata antara dua atau lebih komputer, link jaringan, CPU (Central Processing Unit), hard- drive, atau sumber da-

ya lain, dalam rangka untuk mendapatkan pemanfaatan sumber daya yang optimal, memaksimalkan throughput, meminimalkan waktu tanggap, dan menghindari overload. Load-balancing bukan merupakan konsep baru dalam ruang server atau jaringan. Beberapa produk mempraktekkan berbagai jenis dari load-balancing. Sebagai contoh, router dapat mendistribusikan trak melalui beberapa jalur ke tujuan yang sama, menyeimbangkan beban ke resource jaringan yang berbeda. Sebuah server load balancer mendistribusikan trak di antara sumber daya server ketimbang sumber daya jaringan.

2.4

Load Balancing Apache Menggunakan Mod Backhand

Mod Backhand merupakan suatu modul pada Apache web-server yang bertujuan untuk menyediakan fasilitas load- balancing di dalam cluster. Tujuan khusus dari Mod Backhand adalah menyediakan infrastruktur untuk mengalokasikan ulang permintaan HTTP ke setiap mesin dalam cluster, mengumpulkan dan mendistribusikan statistik resource untuk setiap server pada cluster, dan efektivitas untuk mengambil keputusan yang eksibel karena Mod Backhand bekerja berdasarkan per-permintaan. Ketika web-server Apache memproses permintaan HTTP, server melakukan siklus terhadap per2.3 DNS Round Robin mintaan tersebut melalui semua modul di berbaUmumnya DNS server berisi satu alamat IP yang di- gai tahap. Pada tahap pertama, Mod Backhand peta-kan menjadi sebuah nama situs tertentu. Ak- secara administratif menentukan apakah load- baan tetapi DNS server juga dapat digunakan untuk lancing perlu dilakukan atau tidak, untuk URL ini. menyeimbangkan beban server dengan cara meng- Setelah itu, server melewatkan informasi perminelola beberapa alamat IP yang berbeda untuk sebu- taan melalui rangkaian fungsi pengambilan kepuah nama situs. Alamat-alamat IP tersebut mewakili tusan atau yang disebut dengan fungsi candidacy. mesin-mesin dalam sebuah cluster, dan semuanya Fungsi ini bertanggung jawab untuk mengurutkan kumpulan server yang tersedia menjadi urutan sedi-peta-kan ke satu nama situs yang sama. Algoritma Round Robin digunakan pada DNS se- rver yang "terbaik". Fungsi candidacy memiliki akrver untuk menyeimbangkan beban pada beberapa ses ke struktur request_rec untuk permintaan saat server. Penjadwalan Algoritma Round Robin mem- ini, begitu juga dengan segmen memori bersama berikan tugas-tugas ke semua bagian dalam bentuk yang memegang informasi penggunaan sumber damatematika; Round Robin memilih server dengan i ya yang terkelola. Fungsi dalam rangkaian ini di= (i+1) mod n setiap kali, dimana n adalah jumlah denisikan pada le kongurasi Apache dan dapat server. Prosedur formal penjadwalan Round Robin dibedakan untuk direktori atau ekstensi yang berbeda. Fungsi candidacy juga dapat memilih metosebagai berikut: de pengalokasian kembali permintaan yang digunakan. S = {S0, S1, ..., Sn-1}, where n > 0; Implementasi Mod Backhand sebagai loadi indicates the server selected last time, balancer dapat dikombinasikan dengan DNS Roand i is initialized with -1; j = i; und Robin untuk mengarahkan permintaan atau do { j = (j + 1) mod n; trak ke beberapa Apache web-server yang terhuif (Available(Sj)) bung ke cluster yang telah dikongurasi directi{ ve Mod Backhand didalamnya seperti contoh pa{ da Gambar 3. Pada sistem ini, Apache web-server i = j; tidak hanya memproses permintaan HTTP, tetapi return Si; juga dapat menelusuri resources dari setiap web} server. Hal ini bertujuan untuk mengalihkan per} mintaan tersebut ke web-server lain yang identik while (j != i); (kecuali alamat IP) dan dengan directive Mod Bacreturn NULL; khand yang sama, jika salah satu web-server tersebut sibuk dan kurangnya resources yang tersedia untuk memproses permintaan pengguna seperti yang diilustrasikan pada Gambar 3

3 Model Konseptual
Model konseptual dari penelitian ini dapat dilihat pada Gambar 4, yang dapat dijelaskan sebagai berikut: Penelitian diawali dengan melakukan kongurasi pada DNS server, yaitu dengan mengaktifkan -

Gambar 1: DNS Round Robin Load balancing

Gambar 2: Sketsa Implementasi Mod Backhand pada Apache

Gambar 3: Load Balancing DNSRR dan Mod Backhand tur Round Robin pada le kongurasi utama dari DNS server agar alamat IP dari suatu nama domain yang tersimpan pada DNS server diberikan secara bergantian ketika klien ingin mengakses webserver. DNS Round Robin dirancang untuk mengarahkan permintaan dari pengguna ke lebih dari satu web-server. Pada web-server yang berada dalam cluster, dilakukan penginstalasian modul Mod Backhand, spread, serta wackamole. Kongurasi dilakukan pada le kongurasi Apache dan Mod Backhand yaitu le http.conf, sehingga setiap webserver dapat menganalisa informasi yang dipublikasikan oleh semua web- server yang berada dalam cluster. Selain itu, kongurasi juga dilakukan pada le spread.conf untuk mendeklarasikan alamat IP real dari server yang tergabung dalam cluster dan pada le wackamole.conf kongurasi dilakukan untuk mendenisikan alamat IP virtual yang didaftarkan pada DNS server dan akan dikelola oleh wackamole. Flow chart untuk mengilustrasikan situasi yang terjadi ketika pengguna mengakses situs web yang dikelola oleh Apache web-server terlihat pada Gambar 5. Gambar 5: Flow Chart Ketika user Mengakses website

4 Analisis dan Perancangan

4.1

Analisis Spesikasi Kebutuhan

Gambar 4: Model Konseptual Penelitian

Penerapan sistem load-balancing yang akan di implementasikan merupakan sistem baru dan bukan pengembangan dari sistem yang telah ada sebelumnya. Penelitian menggunakan pemodelan jaringan untuk mensimulasikan sistem load-balancing yang akan diterapkan, terdiri dari dua komputer untuk Apache web-server serta satu komputer berfungsi sebagai DNS server untuk mengaktifkan tur Round Robin. Sistem load-balancing yang diterapkan ini, diharapkan dapat menyeimbangkan beban pada web-server untuk mencegah terjadinya overload serta meningkatkan ketersedian web-server sehingga server masih dapat melayani permintaan minimal 100 pengguna yang mengakses web-server dengan rentan waktu yang berdekatan atau bersamaan. Berikut ini mengenai spesikasi perangkat lunak dan perangkat keras yang digunakan pada penelitian.

Tabel 1: Spesikasi Perangkat Lunak


No 1 Perangkat Lunak Sistem Operasi Aplikasi Editor Perangkat lunak tambahan Web Server Linux CentOs 5.2 Apache Gedit Mod backhand Spread Wackamole DNS Server Linux CentOS 5.2 Bind Gedit Klien Linux Ubuntu 9.04 Mozilla Firefox Gedit Siege-2.69

Implementasi sistem load balancing ini, akan disimulasikan pada pemodelan skema jaringan seperti pada gambar berikut:

2 3 4

Gambar 6: balancing

Skema Jaringan Simulasi Load-

Tabel 2: Spesikasi Perangkat Keras


No. 1 2 Perangkat Keras Motherboard Processor Web Server Asus P5 Intel Pentium 4CPU 3.00 GHz 3 RAM DDR RAM 512 MB PC3200 Seagate Baraccuda SATA-40GB OnBoard 100Mbps DNS Server Asus P5 Pentium 4 CPU 3.00 GHz

Tabel 4: Pengaturan Penamaan dan Pengalamatan Host


Server DNS Server ApacheWeb server Nama Host ns1 www1 www2 Nama Domain poltekhost.org poltekhost.org poltekhost.org FQDN ns1.poltekhost.org www1.poltekhost.org www1.poltekhost.org

DDR RAM 512 MB

Hard Disk

Seagate Baraccuda 40GB OnBoard 100MbpsNIC Allied Telesyn AT2500TXL/ RTL8139D 100Mbps Samsung Sync Master 740n 14

5 Implementasi dan Pengujian


5.1 Implementasi balancing Sistem Load-

LAN Card

Monitor

Samsung Sync Master 740n 14

Tabel 3: Spesikasi Perangkat Keras Jaringan


No. 1 Perangkat Keras Switch Spesikasi D-Link Switch 16 Port UTC Cat 5 Jumlah 1

Kabel UTP

10 100 Meter

4.2

Perancangan Sistem

Pada penelitian ini, jumlah minimal komputer yang berfungsi sebagai web-server load balancing adalah dua buah komputer dan dapat bertambah sesuai dengan kebutuhan yang diinginkan, dan untuk mengaktifkan tur Round Robin dapat diterapkan pada DNS server.

Implementasi sistem load balancing pada penelitian kali ini, dilakukan kongurasi pada DNS server yaitu le kongurasi named.conf serta le zone yang terlibat. Sedangkan pada sisi apache web server yaitu le httpd.conf, spread.conf, serta wackamole.conf. File kongurasi named.conf digunakan untuk memetakan dari alamat komputer ke nama komputer. Setelah melakukan kongurasi le named.conf langkah selanjutnya adalah kongurasi le zone. Pindah ke direktori spesik yang disebutkan dipilihan blok {} pada le named.conf yaitu /var/named/chroot/var/named/. Mulai mengkongurasi le zone poltekhost.org.zone (yang disebutkan pada blok le zone pada le named.conf. di baris keempat). Terlihat pada Gambar 7, tertera alamat IP dari www.poltekhost.org adalah 192.168.2.9, dan 192.168.2.10. Ketika dilakukan pengujian melalui mesin web-server 1 dengan cara yang sama, DNS server memberikan balasan alamat IP yaitu 192.168.2.10 dan 192.168.2.9 seperti yang terlihat pada Gambar 8. Berdasarkan informasi dari kedua gambar terlihat perbedaan urutan alamat IP yang

diberikan oleh DNS server. Hal ini dikarenakan diterapkannya Algoritma Round Robin.

Tabel 6: Hasil Simulasi 200 user Mengakses webserver


No Jumlah u Waktu Tunda 1 2 3 200 200 200 3 1 0 8005 23516 57041 100% 100% 100% Transaksi Ketersediaa Waktu Tanggap 0.01 0.01 0.19 133.46 392.46 951.95 Kecepatan

Tabel 7: Hasil Simulasi 300 user Mengakses webserver


No Jumlah user 1 2 300 300 300 Waktu Tunda 3 1 0 11732 34797 54884 100% 100% 100% Transaksi Ketersediaan Waktu Tanggap 0.01 0.01 0.31 197.64 582.38 920.56 Kecepatan

Gambar 7: Pengujian Round Robin pada DNS Server

5.2.2

Simulasi Pengiriman Permintaan HTTP Ketika satu web-server aktif


Jumlah user 100 100 2 Waktu 3 Transaksi 7875 23419 Ketersediaan 100% 100% Waktu Tanggap 0.01 0.01 Kecepatan 131.4 390.45

No 1 2

100 1

30702

100%

0.3.7

512.64

Tabel 8: Hasil Simulasi 100 user Mengkases Satu web-server

Gambar 8: Pengujian DNSRR oleh web-server

No 1 2

Jumlah user 200 200 200

WaktuTunda 3 2 1

Transaksi 11732 34797 54884

Ketersediaan 100% 100% 100%

Waktu Tanggap 0.01 0.01 0.31

Kecepatan 197.64 582.38 920.56

5.2

Pengujian Sistem Load-balancing pada Web-Server Tabel 9: Hasil Simulasi 200 user Mengakses satu
web-server

Apabila semua layanan yang dibutuhkkan telah diaktifkan dan dikongurasi dengan benar, maka kinerja dari web server dapat diuji. Pada penelitian ini kinerja web server akan diuji dengan mengacu pada beberapa parameter seperti jumlah transaksi, persentasi ketersediaan, waktu tanggap dan kecepatan transaksi. 5.2.1 Simulasi Pengiriman Permintaan HTTP ketika dua web-server aktif

No 1 2 3

Jumlah user 300 300 300

WaktuTunda 3 2 1

Transaksi 11587 29767 30183

Ketersediaan 100% 100% 100%

Waktu Tanggap 0.01 0.08 0.51

Kecepatan 194.97 498.53 510.37

Tabel 10: Hasil Simulasi 300 user Mengakses satu web-server

6 Penutup
No 1 2 3 Jumlah 100 100 100 Waktu 3 1 0 Transaksi 3993 11783 47609 Ketersediaan 100% 100% 100% Waktu 0.01 0.01 0.12 Kecepatan 67.17 197.44 799.21

6.1

Kesimpulan

Kesimpulan yang diperoleh dari penelitian ini yaitu: 1. Pada saat jumlah pengguna yang mengakses web-server semakin banyak, maka waktu tang-

Tabel 5: Hasil Simulasi 100 user Mengakses Web Serve

gap yang dihasilkan oleh server untuk melayani permintaan-permintan dari pengguna tersebut semakin lambat. 2. Ada saat interval waktu dari user mengakses web-server semakin cepat (nilainya semakin kecil), maka waktu tanggap server untuk melayani permintaan semakin lambat. 3. Pada saat waktu tanggap yang dihasilkan oleh server ketika melayani permintaan lebih cepat, maka jumlah transaksi yang berhasil dilayani, semakin banyak. 4. Pada saat hanya satu web-server yang aktif, waktu tanggap yang dihasilkan oleh server untuk melayani permintaan-permintan dari user lebih lambat dibandingkan dengan ketika dua server yang aktif. 5. Kinerja yang dihasilkan ketika dua server yang aktif cenderung lebih baik atau meningkat dibandingkan dengan hanya terdapat satu server, hal ini dapat dilihat hari waktu tanggap server, jumlah transaksi yang berhasil dilayani, dan kecepatan transaksi yang terjadi setiap detik.

[4] Marjorie Sayer Sailu Reddy Anshu Aggarwal David Gourley, Brian Totty. HTTP The Denitive Guide. OReilly & Associates, Inc., Sebastopol., 2002. [5] Eric Hall. Internet Core Protocols The Denitive Guide. OReilly & Associates, Inc., Sebastopol., 2000. [6] Nick Kew. The Apache Modules Book. Prentice Hall, New Jersey., 2007. [7] Candra Kopparapu. Load Balancing Servers, Firewalls, and Caches. John Wiley & Sons, Inc., Canada., 2002. [8] Theo Schlossnagle. Scalable Internet Architectures. Sams, United States of America., 2006. [9] S.N.M.P. Simamora. Perhitungan kinerja sistem untuk antrian multi-server pada akses jamak. Departemen Sistem Komputer, Fak. Teknik ITHB, Bandung., 2002.

6.2

Saran

Beberapa saran yang dapat disampaikan berikut ini yaitu: 1. Sistem load-balancing pada penelitian ini dapat dipadukan dengan perangkat keras loadbalancer (seperti switch, router, atau localdirector) untuk memperoleh performansi server dan jaringan yang lebih baik. 2. Sistem load-balancing yang diterapkan pada Apache web-server ini dapat diimplementasikan pula pada web- server yang menyediakan halaman web dengan script pemograman seperti: php, Java Servlet Page (.jsp), dan Active Server Pages (.asp) sekaligus pada web-server yang sama.

Pustaka
[1] Peter Laurie Ben Laurie. Apache The Denitive Guide 3rd Edition. OReilly & Associates, Inc., Sebastopol., 2002. [2] Tony Bourke. Server Load Balancing. OReilly & Associates, Inc., Sebastopol., 2001. [3] content.websitegear.com. Load balance methods.

Anda mungkin juga menyukai