Implementasi dan Analisa Load-Balancing pada suatu Web-Server Lokal 1 Ariyani Abdullah N. M. P. Simamora Henry Rossi Andrian 2 S. 3 1 2 Program studi Teknik Komputer Politeknik TELKOM([email protected]) Program studi Teknik Komputer Politeknik TELKOM([email protected]) 3 Program studi Teknik Komputer Politeknik TELKOM([email protected]) 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- (a) a.Menganalisa implementasi loadbalancing untuk meningkatkan skalabilitas web-server dengan cara mendistribusikan beban ke beberapa server. 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: (b) Menganalisa ketersediaan dari webserver dengan menerapkan sistem load-balancing yang mengarahkan trafik 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. 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 trafik 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: 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 trafik melalui beberapa jalur ke tujuan yang sama, menyeimbangkan beban ke resource jaringan yang berbeda. Sebuah server load balancer mendistribusikan trafik 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 fleksibel 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 definisikan pada file konfigurasi 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; trafik ke beberapa Apache web-server yang terhuif (Available(Sj)) bung ke cluster yang telah dikonfigurasi 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 Gambar 1: DNS Round Robin Load balancing Model konseptual dari penelitian ini dapat dilihat pada Gambar 4, yang dapat dijelaskan sebagai berikut: Penelitian diawali dengan melakukan konfigurasi pada DNS server, yaitu dengan mengaktifkan fi- Gambar 2: Sketsa Implementasi Mod Backhand pada Apache Gambar 3: Load Balancing DNSRR dan Mod Backhand tur Round Robin pada file konfigurasi 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. Konfigurasi dilakukan pada file konfigurasi Apache dan Mod Backhand yaitu file http.conf, sehingga setiap webserver dapat menganalisa informasi yang dipublikasikan oleh semua web- server yang berada dalam cluster. Selain itu, konfigurasi juga dilakukan pada file spread.conf untuk mendeklarasikan alamat IP real dari server yang tergabung dalam cluster dan pada file wackamole.conf konfigurasi dilakukan untuk mendefinisikan 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 4: Model Konseptual Penelitian Gambar 5: Flow Chart Ketika user Mengakses website 4 Analisis dan Perancangan 4.1 Analisis Spesifikasi Kebutuhan 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 fitur 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 spesifikasi perangkat lunak dan perangkat keras yang digunakan pada penelitian. Tabel 1: Spesifikasi Perangkat Lunak No Perangkat Lunak Web Server DNS Server Klien 1 Sistem Operasi Linux CentOs 5.2 Linux CentOS 5.2 Linux Ubuntu 9.04 2 Aplikasi Apache Bind Mozilla Firefox 3 Editor Gedit Gedit Gedit 4 Perangkat Mod - Siege-2.69 lunak tambahan backhand Spread Wackamole Gambar 6: balancing Tabel 2: Spesifikasi Perangkat Keras No. 1 2 Perangkat Keras Web Server Motherboard Asus P5 Processor Intel DNS Server Asus P5 Pentium 4 CPU 3.00 Pentium 4CPU 3.00 GHz GHz 3 RAM DDR RAM 512 MB PC3200 DDR RAM 512 MB 4 Hard Disk Seagate Baraccuda SATA-40GB Seagate Baraccuda 40GB 5 LAN Card OnBoard 100Mbps OnBoard 100MbpsNIC Allied Telesyn AT2500TXL/ RTL8139D 100Mbps 6 Monitor Samsung Samsung Sync Mas- Sync Master 740n 14” ter 740n 14” Tabel 3: Spesifikasi Perangkat Keras Jaringan 4.2 Implementasi sistem load balancing ini, akan disimulasikan pada pemodelan skema jaringan seperti pada gambar berikut: No. Perangkat Keras Spesifikasi Jumlah 1 Switch D-Link Switch 16 Port 1 2 Kabel UTP UTC Cat 5 10 – 100 Meter 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 fitur Round Robin dapat diterapkan pada DNS server. Skema Jaringan Simulasi Load- Tabel 4: Pengaturan Penamaan dan Pengalamatan Host Server Nama Host Nama Domain FQDN DNS Server ns1 poltekhost.org ns1.poltekhost.org ApacheWeb server www1 poltekhost.org www1.poltekhost.org www2 poltekhost.org www1.poltekhost.org 5 Implementasi dan Pengujian 5.1 Implementasi balancing Sistem Load- Implementasi sistem load balancing pada penelitian kali ini, dilakukan konfigurasi pada DNS server yaitu file konfigurasi named.conf serta file zone yang terlibat. Sedangkan pada sisi apache web server yaitu file httpd.conf, spread.conf, serta wackamole.conf. File konfigurasi named.conf digunakan untuk memetakan dari alamat komputer ke nama komputer. Setelah melakukan konfigurasi file named.conf langkah selanjutnya adalah konfigurasi file zone. Pindah ke direktori spesifik yang disebutkan dipilihan blok {} pada file named.conf yaitu /var/named/chroot/var/named/. Mulai mengkonfigurasi file zone poltekhost.org.zone (yang disebutkan pada blok file zone pada file 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 Transaksi Ketersediaa Waktu Tunda Kecepatan Tanggap 1 200 3 8005 100% 0.01 133.46 2 200 1 23516 100% 0.01 392.46 3 200 0 57041 100% 0.19 951.95 Tabel 7: Hasil Simulasi 300 user Mengakses webserver No Gambar 7: Pengujian Round Robin pada DNS Server Jumlah Waktu user Tunda 1 300 3 11732 100% 0.01 197.64 2 300 1 34797 100% 0.01 582.38 3 300 0 54884 100% 0.31 920.56 5.2.2 No Transaksi Ketersediaan Waktu Kecepatan Tanggap Simulasi Pengiriman Permintaan HTTP Ketika satu web-server aktif Jumlah user Waktu 1 100 3 2 100 3 100 Transaksi Ketersediaan Waktu Tanggap Kecepatan 7875 100% 0.01 131.4 23419 100% 0.01 390.45 30702 100% 0.3.7 512.64 2 1 Tabel 8: Hasil Simulasi 100 user Mengkases Satu web-server Gambar 8: Pengujian DNSRR oleh web-server 5.2 Jumlah user WaktuTunda Transaksi Ketersediaan Waktu Tanggap Kecepatan 1 200 3 11732 100% 0.01 197.64 2 200 2 34797 100% 0.01 582.38 3 200 1 54884 100% 0.31 920.56 Pengujian Sistem Load-balancing pada Web-Server Tabel 9: Hasil Simulasi 200 user Mengakses satu Apabila semua layanan yang dibutuhkkan telah diaktifkan dan dikonfigurasi 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 No Simulasi Pengiriman Permintaan HTTP ketika dua web-server aktif web-server No Jumlah user WaktuTunda Transaksi Ketersediaan Waktu Tanggap Kecepatan 1 300 3 11587 100% 0.01 194.97 2 300 2 29767 100% 0.08 498.53 3 300 1 30183 100% 0.51 510.37 Tabel 10: Hasil Simulasi 300 user Mengakses satu web-server 6 Penutup No Jumlah Waktu 1 100 3 2 100 3 100 Transaksi Ketersediaan Waktu Kecepatan 3993 100% 0.01 67.17 1 11783 100% 0.01 197.44 0 47609 100% 0.12 799.21 Tabel 5: Hasil Simulasi 100 user Mengakses Web Serve 6.1 Kesimpulan Kesimpulan yang diperoleh dari penelitian ini yaitu: 1. Pada saat jumlah pengguna yang mengakses web-server semakin banyak, maka waktu tang- 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. 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 Definitive Guide 3rd Edition. O’Reilly & Associates, Inc., Sebastopol., 2002. [2] Tony Bourke. Server Load Balancing. O’Reilly & Associates, Inc., Sebastopol., 2001. [3] content.websitegear.com. Load balance methods. [4] Marjorie Sayer Sailu Reddy Anshu Aggarwal David Gourley, Brian Totty. HTTP The Definitive Guide. O’Reilly & Associates, Inc., Sebastopol., 2002. [5] Eric Hall. Internet Core Protocols The Definitive Guide. O’Reilly & 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.