STUDI MENGENAI KINERJA WEBSERVER BERBASIS LINUX MENGGUNAKAN TEKNOLOGI LOAD BALANCING Burhanudin1, Yusep Rosmansyah2 Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung,
[email protected], +628122182090 2 Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung,
[email protected], +628997959391 1
ABSTRAK, Kebutuhan informasi kondisi produksi yang cepat dan akurat bagi seorang eksekutif di industri beras sangat penting. Hal ini akan berpengaruh terhadap kualitas beras yang dihasilkan maupun efisiensi modal dan waktu. Untuk mendapatkan kualitas beras yang aromatikanya baik sangat bergantung pada waktu penyimpanan yang tidak lebih dari 14 hari. Pada penelitian ini dilakukan proses perancangan dan implementasi Executive Information System (EIS) sebagai media monitoring proses produksi beras dimulai dari tahap pra panen hingga tahap pasca panen. PAS framework, metoda Critical Success Factors (CSFs) serta penentuan Key Performance Indicator (KPI) digunakan untuk menentukan kebutuhan informasi. Bentuk penampilan informasi yang berupa dashboard dirancang menggunakan Metodologi Eva. Hasil dari penelitian ini berupa prototipe aplikasi EIS berbasis web serta aplikasi mobile yang dapat mengakses data di server melalui koneksi HTTP. Informasi yang ditampilkan memuat kebutuhan informasi seorang eksekutif di bidang industri beras dalam proses monitoring pra panen dan pasca panen. Pengujian terhadap aplikasi menunjukkan bahwa dengan acuan tarif Rp.1/KB, biaya penggunaan minimal untuk mendapatkan informasi menggunakan browser sebesar dari Rp 79. Berdasarkan karakteristik yang dimilikinya, aplikasi ini layak disebut sebagai web dan mobile Executive Information System. Kata Kunci: Critical Success Factors, dashboard, Executive Information System, Metodologi Eva, PAS framework, I. PENDAHULUAN
Dengan pertumbuhan internet yang semakin pesat, server internet harus menghadapi tuntutan yang lebih besar dari sebelumnya. Jumlah client yang harus dilayani oleh server meningkat secara drastis, beberapa situs bahkan telah menerima ratusan ribu koneksi dari client secara simultan. Dengan meningkatnya jumlah pengguna dan meningkatnya beban kerja, perusahaan seringkali khawatir dengan sistem yang mereka miliki dari waktu ke waktu. Selain itu, respon cepat dan ketersediaan 24x7 merupakan persyaratan utama untuk aplikasi bisnis penting, sebagai situs yang bersaing untuk menawarkan akses ke pengguna dengan layanan yang terbaik. Oleh karena itu, persyaratan hardware dan software sebagai solusi untuk mendukung sistem yang menyediakan layanan bersifat highly scalable dan highly available dapat diringkas sebagai berikut :
• • • •
Scalability, ketika beban yang ditawarkan ke layanan meningkat, sistem dapat di turunkan untuk memenuhi persyaratan. 24x7 availability, layanan secara keseluruhan harus tersedia 24x7, meskipun parsial transient kegagalan hardware dan software. Manageability, meskipun seluruh sistem mungkin secara fisik besar, harus mudah untuk mengelola. Cost-effectiveness, seluruh sistem harus ekonomis untuk membeli dan memperluas.
Sebuah server tunggal biasanya tidak cukup untuk menangani beban yang meningkat drastis. Proses upgrade server sangat kompleks, dan single server adalah titik tunggal kegagalan (single point of failure). Semakin tinggi server di-upgrade, biaya yang dikeluarkan juga akan jauh lebih tinggi. Pada penelitian ini akan mempelajari mengenai desain sistem server load balancing yang memiliki beberapa keuntungan, termasuk fleksibilitas, skalabilitas, ketersediaan dan keamanan. II. KAJIAN LITERATUR
Load balancing adalah suatu metode untuk mendistribusikan beban kepada beberapa host sehingga beban kerja menjadi lebih ringan. Ini bertujuan agar waktu rata-rata mengerjakan tugas menjadi singkat dan dapat menaikkan utilitas prosesor. Load balancing dapat diimplementasikan dengan hardware khusus, software maupun gabungan keduanya. Konfigurasi standar yang ada memberi gambaran bahwa satu mesin ditempatkan diantara client dan server, mesin ini disebut sebagai load balancer karena tugasnya adalah memberikan balancing pada request dari client ke server. Sebuah load balancer adalah perangkat jaringan yang dipasang diantara client dan server, bekerja sebagai saklar untuk request dari client. Load balancer mengimplementasikan beberapa metode penjadwalan yang akan menentukan ke arah server mana request dari client akan diteruskan.
III. PERANCANGAN DAN N IMPLEMENTASI SISTEM LOAD BALANCING NCING SERVER
Sebelum melakukan perancangan, terlebih dahulu dilakukan analisis tentang arsitektur dan spesifikasi sistem load balancing yang mungkin gkin untuk dibentuk. Berdasarkan kajian pustaka, sistem loadd balancing balanc cluster yang bersifat high availability pada umumnya mumnya memiliki dua komponen penyusun utama yaitu: a. Load Balancer, sebagai gai sebuah server yang bertugas untuk meneruskan paket ket dari client kepada real server. Client dari jaringan luar akan menganggap cluster seolah sebagai server tunggal. t b. Real Server, sebagai server s yang melayani permintaan client, dalam hal ini sebagai web server yang memberikan layanan http. h Client
Gambar II.1 Sistem Load Balancing ing Cluster HAProxy adalah produk open source yang y menyediakan solusi untuk menciptakan sistem loadd balancing dan failover dari aplikasi yang berbasis TCP dan HTTP. Perangkat lunak ini sangat cocok digunakan kan untuk website yang trafik hariannya tinggi sementara ra itu diperlukan keteguhan dan kekuatan dari pemrosesan pada layer 7. HAProxy dipasang pada server front nt-end. Front-end server umumnya adalah server yang memiliki miliki IP statis dan teregistrasi dengan DNS. Untuk load bala alancer yang high availability maka normalnya minimal terdapat 2 buah server front-end. Aplikasi server dapat dipasang bersama didalam front-end atau terpasang secara terpisah. erpisah. Front-end berfungsi untuk menghubungkan user dengan aplikasi server yang tersedia. ver menggunakan Skema sistem load balancer server HAProxy dengan satu buah front-end dann beberapa aplikasi server yang terpisah dapat terlihat pada Gambar G I.2.
Sistem Cluster Server
LoadBalancer1 (Active)
Hub
LoadBalancer2 (Standby)
Heartbeat
Real Server1 (Web Server1)
Real Server2 (Web Server2)
Gambar III.1 Sistem Cluster ster dengan 2 Load Balancer dan 2 Real Server
Internet / Intranet
Client
LoadBalancer with HAProxy
LAN/WAN
................... Real Server 1 (Web Server 1)
Real Server 2 (Web Server 2)
Real Server N (Web Server N)
Gambar II.2 Skema sistem Load Balancer lancer dengan HAProxy
Node yang ada dalam m sistem, baik load balancer maupun real server semua ua menggunakan sistem operasi Linux SLES 10 (Suse Linux Enterprise Server) Server dan perangkat lunak lainnya ya yang terpasang bersifat opensource. Model sistem load balancing alancing server yang dirancang pada penelitian ini terdiri dari 4 node dimana 2 buah node sebagai load balancer dan n 2 buah node yang lain sebagai real server yang menyediakan nyediakan aplikasi webserver. Konfigurasi yang dilakukan kan pada 4 buah node tersebut adalah seperti pada Gambar ar III.2. Dalam sistem load balancing lancing server ini, load balancer bertindak sebagai pengatur atur dalam proses kerja yang dilakukan oleh sistem. Request equest yang masuk pada sistem akan didistribusikan kepada epada dua buah real server menggunakan algoritma penjadwalan round robin, sehingga beban yang ditanggung nggung oleh masing-masing masing real server menjadi relatif lebih h ringan. Untuk merancang suatu tu sistem yang high availability maka diimplementasikan dua buah load balancer dengan
status active-standby dan dua buah real server dengan status keduanya aktif. Semua node dalam sistem cluster, baik itu load balancer dan real server dihubungkan oleh hub dan kedua real server isinya identik satu dengan yang lain dimana keduanya menyediakan layanan yang sama yaitu http. Selain itu kedua real server saling memonitor keadaan masing-masing dengan terpasangnya heartbeat untuk mengantisipasi jika real server yang satu mengalami gangguan maka secara otomatis real server yang lain akan menggantikan fungsinya. Client
datang sekarang ditangani oleh RealServer 1. Proses pengambilalihan layanan ketika RealServer 1 digantikan oleh RealServer 2 dapat diketahui melalui logfile hearthbeat. Kelebihan dari penggunaan HAProxy sebagai aplikasi untuk load balancing salah satunya adalah adanya laporan statisik yang berupa halaman web yang dapat diaktifkan pada file konfigurasinya. Kondisi setiap real server yang ada dalam load balancing cluster dapat dilihat dalam laporan statistik tersebut. Berikut ini adalah analisis dari laporan statistik HAProxy mulai dari ketika kedua real server masih aktif sampai RealServer 1 mengalami kegagalan dan diambil alih tugasnya oleh RealServer 2.
Virtual IP Server : 192.168.1.200
192.168.1.135
LoadBalancer1 (Active)
192.168.1.136
LoadBalancer2 (Standby)
Hub
192 .168 .1.137
192.168.1.138
Heartbeat
Real Server1 (Web Server1)
Real Server2 (Web Server2)
Gambar III.2 Konfigurasi sistem Load Balancing Server yang digunakan Pada penelitian ini, sistem load balancing tidak menggunakan media penyimpanan data bersama, maka kedua real server memerlukan sinkronisasi data agar saat client mengirimkan atau mengubah suatu data, maka client tidak perlu melakukannya pada masing-masing real server. Oleh sebab itu, dibutuhkan suatu perangkat lunak yang dapat melakukan sinkronisasi pada kedua real server tersebut, baik itu sinkronisasi file maupun database. Untuk sinkronisasi file akan digunakan rsync yang akan dijalankan secara berkala oleh sistem. Dan untuk sinkronisasi database digunakan fasilitas replikasi yang ada pada MySQL. IV. ANALISIS HASIL IMPLEMENTASI SISTEM LOAD BALANCING SERVER
Untuk menganalisa hasil implementasi dilakukan pengujian terhadap sistem yang meliputi pengujian fungsionalias dan pengujian performa sistem. Pengujian fungsi sistem dilakukan dengan mematikan salah satu real server dengan cara mencabut kabel UTP yang menghubungkannya ke jaringan. Heartbeat yang terpasang pada kedua real server tersebut akan memonitor kondisi masing-masing. Ketika RealServer 1 mengalami kegagalan, maka RealServer 2 akan mendeteksi kegagalan tersebut dan mengambil alih tugas yang sebelumnya dilakukan oleh RealServer 1. Sehingga semua request yang
Gambar IV.1 Statistik HAProxy ketika kedua Real Server aktif Pada saat kedua real server masih aktif, request yang datang diteruskan secara merata pada keduanya berdasarkan algoritma penjadwalan round robin. Seperti terlihat pada gambar IV.1, jumlah Sessions, jumlah Bytes In dan Bytes Out dari total yang diterima oleh front-end terbagi merata pada real server linux-fwm3 dan linuxfwm4.
Gambar IV.2 Statistik HAProxy ketika Real Server 1 mulai mati Sesaat setelah RealServer 1 (linux-fwm3) dimatikan, jumlah Sessions dan Bytes masih dilaporkan terbagi secara merata kepada kedua real server. Tetapi kondisi linuxfwm3 sudah dinyatakan down dan diberi tanda warna merah seperti diperlihatkan pada gambar IV.2. Jika sistem menerima lagi request dari client, maka load balancer akan meneruskan semua request tersebut kepada real server yang masih aktif yaitu linux-fwm4. Hal ini ditunjukkan pada jumlah Sessions dan jumlah Bytes yang dilaporkan dalam statistik gambar IV.3.
penurunan kecepatan dalam m melayani request yang datang akibat terjadi overload pada da server tersebut. Sedangkan pada sistem m load balancing server secara keseluruhan memiliki waktu aktu respon yang lebih singkat dibandingkan dengan single s server, walaupun juga mengalami kenaikan waktu ktu respon ketika request yang datang lebih dari 8000. Gambar IV.3 Statistik HAProxy ketika hanya Real Server 2 yang aktif Dengan tidak adanya media penyimpanan impanan bersama (shared disk) pada sistem cluster yang dirancang, maka diperlukan adanya sinkronisasi data padaa real server yang menjadi tempat terpasangnya aplikasi web w server. Untuk pengujian fungsi sinkronisasi data, dilakukan akukan perubahan pada database dengan menambahkan kan table baru didalamnya. Selain itu juga dilakukan perubahan pada salah satu file yang ada dalam real server er. Perubahan data yang terjadi pada salah satu real server, baik itu database maupun file, secara otomatis akan berubah ah juga pada real server yang lain. meter yang diukur Dalam pengujian kinerja sistem, parameter pada implementasi sistem load balancing ncing server ini meliputi waktu respon dan throughput ghput. Pengujian dilakukan dengan mengirimkan requestt secara simultan kepada server dengan kenaikan jumlah request bertahap sampai sistem mengalami beban puncak. uncak. Pengujian dilakukan pada single server dan kemudian udian pada sistem s load balancing server. Untuk membangkitkan angkitkan request secara simultan digunakan perangkat lunak unak httperf yang dipasang di sisi client. Tujuan pengukuran waktu respon on yaitu untuk mengetahui kecepatan sistem dalam melayani ayani setiap paket yang datang. Grafik perbandingan waktu ktu respon antara penggunaan single server dengan sistem m load balancing server ditunjukkan pada gambar IV.4.
Gambar IV.4 Grafik perbandingann waktu respon Dari grafik perbandingan tersebut dapat diketahui ketika single server menerima request yang ang datang secara simultan melebihi 6000 request, waktu respon spon single server mengalami kenaikan yang cukup drastis. Hal ini menunjukkan bahwa penggunaan single server mengalami
Tujuan pengukuran throughput untuk mengetahui kemampuan sistem dalam m memberikan layanan dengan benar terhadap request yang y datang secara bersamaan. Grafik perbandingan nilai ai throughput pada penggunaan single server dan pada sistem load balancing server ditunjukkan pada gambar IV.5. IV
Gambar IV.5 Grafik fik perbandingan throughput Berdasarkan grafik tersebut, rsebut, terdapat perbedaan yang jelas antara sistem load balancing server dengan single server. Sistem load balancing cing memberikan hasil yang lebih baik dibandingkan dengan n single server. Semakin banyak request yang dapat dilayani ani maka nilai throughput akan meningkat. Dari grafik dapat diketahui bahwa dengan penggunaan single serverr kemampuan maksimal sistem hanya terbatas pada 5428 request per detik yaitu pada saat dibangkitkan request sebanyak banyak 6000 pada saat tersebut memiliki nilai throughput 2692,7 KBps. KBps Kemudian sistem mengalami ngalami saturasi karena sistem hanya mampu menerima request kurang lebih sebesar 5428 request per detik, sehinggaa pada saat dibangkitkan request lebih dari 6000 kemampuan uan sistem tidak akan melebihi batas maksimal. Hal ini yang menyebabkan nilai throughput tidak bertambah bah ketika request yang datang melebihi batas maksimal. Kenaikan secara linear ear terjadi pada p sistem load balancing server ketika request r yang datang kurang dari 8000. Kemampuan maksimal simal sistem terjadi pada saat menerima request sekitar 8000, dimana pada saat tersebut request yang muncul sebesar besar 7996 per detik. Kemudian ketika request yang data atang lebih dari 8000, nilai throughput akan turun naik sehingga grafik tidak lagi linear, hal ini disebabkan n sistem telah menempuh batas maksimal dari kemampuan n yang dimiliki dimiliki. Perbaikan nilai throughput ghput oleh sistem load balancing server terhadap penggunaan naan single server yaitu ketika request yang datang lebih dari 5428 per detik, sistem masih
dapat menerima request yang lebih banyak sampai dengan 7996 request per detik.
V. KESIMPULAN DAN SARAN
5.1 Kesimpulan 1. Secara fungsional, sistem load balancing server telah berhasil diimplementasikan, sistem dapat melakukan penyeimbangan beban dan memiliki tingkat ketersedian yang tinggi, serta dibangun dari komputerkomputer yang memiliki spesifikasi biasa yang menggunakan sistem operasi Linux serta perangkat lunak yang bersifat opensource. 2. Sistem load balancing server yang dirancang memiliki kinerja yang lebih baik dibandingkan dengan penggunaan single server, yaitu : Kemampuan sistem load balancing server untuk melayani request jauh lebih besar, dimana mampu melayani request maksimal sebanyak 7996 per detik sedangkan pada penggunaan satu server hanya mampu melayani request maksimal 5428 per detik, sehingga throughput sistem cluster lebih bagus dibandingkan throughput single server. Waktu respon sistem load balancing server secara keseluruhan lebih baik, dimana waktu respon sistem load balancing lebih singkat dibandingkan waktu respon single server. Waktu respon pada sistem load balancing mulai naik ketika menerima lebih dari 8000 request. Sedangakan pada single server waktu respon mulai naik ketika request datang lebih dari 6000. 5.2 Saran 1. Untuk mengetahui karakteristik kinerja sistem load balancing, perlu adanya penelitian lebih lanjut mengenai sistem load balancing dengan penggunaan jumlah server yang lebih banyak. 2. Penelitian lebih lanjut pada sistem load balancing server dengan kedua load balancer dalam keadaan aktif sehingga bersifat load sharing. 3. Perlu adanya penelitian lebih lanjut mengenai algoritma penjadwalan yang digunakan dalam load balancing untuk mengoptimalkan kinerja sistem. 4. Pengaruh penggunaan media peyimpanan data bersama (shared storage) terhadap kinerja sistem perlu dilakukan penelitian. 5. Perlu adanya penelitian mengenai pengaruh penggunaan load balancer yang juga digunakan sebagai aplikasi server terhadap kinerja sistem. Dalam hal ini load balancer bukan hanya sebagai penyeimbang saja tetapi sebagai penyedia layanan. REFERENSI [1] [2]
Bastiaansen, Rob., van Vugt, Sander. (2006) : Novell Cluster Services for Linux and Netware, Novell Press. Bourke, Tony. (2001) : Server Load Balancing, O’Reilly & Associates, Inc.
[3]
Brown, Chris. (2006) : SUSE Linux : A Complete Guide to Novell’s Community Distribution, O’Reilly Media, Inc. [4] Gropp, William., Lusk, Ewing., Sterling, Thomas. (2003) : Beowulf Cluster Computing with Linux, Second Edition, The MIT Press. [5] Kopparapu, Chandra. (2002) : Load Balancing Server, Firewalls, and Caches, John Wiley & Sons, Inc. [6] Kopper, Carl. (2005) : The Linux Enterprise Cluster : Build a High Availability Cluster with Commodity Hardware and Free Software, No Starch Press, Inc. [7] Marcus, Evan., Stern, Hal. (2003) : Blueprints for High Availability, Second Edition, Wiley Publishing, Inc. [8] McCabe, James D. (2007) : Network Analysis, Architecture, and Design, Morgan Kaufmann Publishers. [9] Novell, Inc. (2008) : Manual SUSE Linux Enterprise Server 10 SP2 : Heartbeat. [10] Robertson, Alan. (2008) : Linux-HA Release 2 Tutorial. [11] Romanovsky, Alexander B. (1993) : Fault Tolerance : Synchronization of Redundancy. ACM SIGOPS Operating Systems Review Vol.27, Issue 4, 58-66. [12] Zhang, Wensong. (2000) : Linux Virtual Server for Scalable Network Services, Ottawa Linux Symposium.
STUDY OF LINUX NUX-BASED WEBSERVER PERFORMANCE ORMANCE USING G LOAD BALANCING TECHNOLOGY OGY Burhanudin1, Yusep Rosmansyah2 School of Electrical al Engineering and Informatics, Institute of Technology nology Bandung,
[email protected], +628122182090 2 School of Electrical al Engineering and Informatics, Institute of Technology nology Bandung,
[email protected], +628997959391 1
ABSTRAK--- Today telecommunicationss and internet are related to each other, where they have grown wn up rapidly and spread to everywhere, so everyone can connect to internet easily. Along with the increase numbers of users connected to internet, when a company that use a single server gets a lot of request from users, high possibility it can n make the system overload and down so requests can not be served erved again. Load balancing technology that applied plied as a high highperformance servers system is one of the solutions that are effective and inexpensive to resolve this issue. ssue. In this study will build load balancing server system that hat consists of four nodes that enables the data processing can n be distributed to several computers and have a high level of availability. Test results indicate that the load balancing ng server system is better than the single server. This is shown n by more number of requests that can be served by system m than by a single server, so the value of throughput is greater reater and system response time becomes shorter. Keywords : Linux, Server, Node, Clustering, g, Load Balancing, High Availability.
•
Cost-effectiveness, the whole economical to afford and expand.
system
must
be
A single server is usually not sufficient to handle this aggressively increasing load. ad. The server upgrading process is complex, and the serverr is a single point of failure. The higher end the server is upgraded pgraded to, the much higher cost we have to pay. At this research will be study about design of load balancing server system m that has several advantages including flexibility, scalability, bility, availability and security. II. LITERATURE RATURE STUDY
Load balancing is a method to distribute the load to several hosts so that the workload lighter. This aims to be the average time tasks to o be brief and can increase the processor utility.
I. INTRODUCTION
With the explosive growth of the Internet, Internet servers must cope with greater demands ds than ever. The potential number of clients that a server must support has dramatically increased; some hot sites es have already received hundreds of thousands of simultaneous multaneous client connections. With the increasing numberr of users and the increasing workload, companies often worry about how their systems grow over time. Furthermore, ore, rapid response and 24x7 availability are mandatory requirements quirements for the mission-critical business applications, as sites compete for offering users the best access experience. Therefore, the requirements for hardware ware and software solution to support highly scalable andd highly available services can be summarized as follows: • • •
d to the service Scalability, when the load offered increases, system can be scaledd to meet the requirement. 24x7 availability, the service as a whole must be available 24x7, despite of transientt partial hardware and software failures. Manageability, although the wholee system may be physically large, it should be easy to manage.
Figure II.1 Load Balancing B Cluster System Load balancing can be implemented with special hardware, software or a combination ombination of both. The standard configuration is illustrated ed that a machine is placed between the client and server, erver, this machine is called the load Balancer for balancing ing his job is to give the client request to the server.
Load Balancer is a network device that is placed between the client and server, working as a switch for the client request. Load Balancer implement some scheduling method that will determine the direction where the server client request will be forwarded. HAProxy is an open source product that provides solutions to create a system load balancing and failover of a TCP-based applications and HTTP. This software is suitable for the website that high daily traffic while it is necessary firmness and strength of the 7-layer processing. HAProxy installed on front-end servers. Front-end servers are servers that generally have a static IP and is registered with DNS. Load Balancer for the high availability then there is normally a minimum of 2 pieces front-end servers. Application servers can be mounted together in the front-end or attached separately. Front-end functions to connect users with a server application available. Load Balancer server system scheme using HAProxy with one front-end and a separate server application that can be seen in Figure I.2.
Figure III.1 Cluster System with two Load Balancer and two Real Server Existing nodes in the system, both load Balancer and all the real servers using the Linux operating system SLES 10 (Suse Linux Enterprise Server) and other software installed is opensource. Load balancing system model that designed in this study consisted of 4 nodes where 2 nodes as a load balancer and 2 other nodes as a real server that provides webserver application. Configuration of 4 nodes is as in Figure III.2
Figure II.2 HAProxy Load Balancer System Scheme
III. LOAD BALANCING SERVER SYSTEM DESIGN AND IMPLEMENTATION
Before doing the design, first performed an analysis of the architecture and load balancing system specifications that may be to set up. Based on literature review, system load balancing cluster is high availability in general has two main constituent parts are: a. Load Balancer, as a server in charge to continue the package from the client to the real server. Clients from outside the network will treat the cluster as a single server b. Real Server, a server that serves client requests, in this case as a web server that provides HTTP service.
Figure III.2 Load Balancing Server System Configuration In this load balancing server system, load balancer acts as a regulator in the process of the work done by the system. Incoming request on the system will be distributed to two real servers using round robin scheduling algorithm, so the burden is borne by each real server to be relatively mild.
As a high-availability systems, will be implemented two load Balancer with active-standby status, and two real servers with the status of both active. All nodes in the cluster system, load balancers and real servers, are connected by the hub and the real server’s content is identical one to another where they provide the same service that is HTTP. The two real servers monitor each other's condition with heartbeat to anticipate when one of the real servers is experiencing problems so the others will replace it automatically. In this study, load balancing system does not use shared data storage, data synchronization on both real servers is needed, so when the client sends or change the data, then the client does not need to do on each real server. Therefore, needed a software that can synchronize the two real server, be it a file or database synchronization. To synchronize the files used rsync that run periodically by the system and for the database synchronization use replication database facilities that existing in MySQL.
number of Sessions, the number of Bytes Bytes In and Out of the total received by the front-end distributed equally on both real servers.
Figure IV.2 HAProxy statistics report when RealServer 1 down After RealServer 1 (linux-fwm3) turned off, the number of Sessions and Bytes was still reportedly divided evenly between the two real servers. But linux-fwm3 condition has been declared down and marked in red as shown in the figure IV.2.
IV. ANALYSIS OF LOAD BALANCING SERVER SYSTEM IMPLEMENTATION RESULTS
The testing on the system to analyze the implementation results includes system functionality testing and system performance testing. System functions testing performed by turning off one of the real servers by pulling the UTP cable connection to the network. Heartbeat that installed on both real servers will monitor their condition. When RealServer 1 fails, then the RealServer 2 will detect the failure and take over the tasks previously done by RealServer 1. So that all requests are coming now handled by RealServer 1. Service acquisition process when RealServer 1 replaced by RealServer 2 can be known through hearthbeat logfile. The advantages of using HAProxy as applications for load balancing is a statistic report web pages that can be activated in the configuration file. Conditions of each real server load balancing within the cluster can be seen in the statistics report. The following is an analysis of statistical reports from HAProxy when bith real server is still active until a failure of RealServer 1 and taken over the task by RealServer 2.
Figure IV.1 HAProxy statistics report when both RealServer still active When both real server still active, incoming requests are equally transmitted to both based on round robin scheduling algorithm. As shown in the figure IV.1, the
Figure IV.3 HAProxy statistics report when only RealServer 2 that active If the system receives more requests from the client, then the load Balancer will forward all such requests to the active real server which is linux-fwm4. This is shown in the number of Sessions and the number of Bytes in the statistics reported on Figure IV.3. With no shared storage (shared disk) on the load balancer system design, it is necessary to synchronize the data on both real servers. To test the function of data synchronization, changes made to the database by adding a new table inside. It also made one change to the existing file in the real server. Changes in data occurred in one of the real servers, either the database or files, are automatically changed as well on another real server In the performance test systems, the parameters measured on the implementation of load balancing system includes a server response time and throughput. Testing is done by sending requests to the server simultaneously with a gradual increase in the number of requests to have the system peak load. Tests performed on a single server and then on the server load balancing systems. To generate simultaneous requests use httperf software that installed on the client. The purpose of measuring response time is to determine the speed of the system to serve each incoming package. Graphic comparison of the response time between single server and load balancing server system is shown in the Figure IV.4.
Figure IV.4 Graphic of Response Time ime Comparison
From the comparison chart, it can be discovered when a single server accept incoming requestss exceeding 6000 simultaneous, the single server response se time increase increases quite dramatically. This shows that a single ngle server speeds decline in serve incoming requests due too the overload on the server. Generally the server load balancing ng system has a response time shorter than a single server, erver, while also experiencing an increase in response time when the requests are coming more from 8000. surements is to The purpose of throughput measurements determine the system's ability to properly serve the requests that are coming concurrently. Graphic ic of throughput comparison in the use of a single server and load balancing balan server system is shown in the Figure IV.5
ut Comparison Figure IV.5 Graphic of Throughput
Based on these graphs, there is a clear distinction between a server load balancing systems ms with a single server. Load balancing server provides better b results than the single server. The more requests that can c be served then the value will increase the throughput. From rom the graph can be seen that the single server maximum capacity is limited to 5428 requests per second with a throughput roughput value is 2692.7 Kbps. The saturation of the system is happen ppen because the system has only capable of receiving ceiving requests
approximately 5428 requests uests per second, so when the requests raised more thann 6000 6000, system capacity will not exceed the maximum limit. mit. This causes the value of the throughput does not increase ase when the requests are coming exceed the maximum limitt. The increase occurredd linearly on the server load balancing system when the he request comes less than 8000. Maximum capability occurs curs when the system receives approximately 8000 requests, uests, which at the time of the requests that come for 7996 996 per second. Then when the request came more than 8000, the throughput value will fluctuate so that the graphh is no longer linear, it is because the system has come a maximum ximum limit of capabilities. Improvement of throughput ughput value by load balancing servers is when requests are coming more than 5428 per second, the system can still ll receive requests for more up to 7996 requests per second. V. CONCLUSIONS NS AND SUGGESTIONS
5.1 Conclusions 1. Functionally, the load ad balancing server system has been successfully implemented, mplemented, the system can perform load balancing cing and has a high level of availability, and built lt from computers that have a common specification on that uses Linux operating system and opensourcee softwares. 2. Load balancing server erver system have a better performance comparedd with wi the use of a single server : Load balancing server erver system able to serve much larger request, which hich could serve ser a maximum of 7996 requests per er second, whereas the use of a single server can only serve a maximum of 5428 requests per second, cond, so the throughput of the cluster system is better than single-server. single Load balancing server system’s response time, generally, much better than single server, server where the response timee of load balancing system is than a single server. Response time of load balancing system started upp whe when receiving more than 8000 requests. While on o a single server the response time starts to rise se when the request came more than 6000. 5.2 Suggestions rformance characteristics of load 1. To determine the performance balancing system, there re is need for further research on load balancing system m with the use of more servers. 2. Further research on the he load balancing server system with two load Balancer er in the active state that is load loadsharing earch on scheduling algorithms 3. Need for further research that are used in load balancing server to optimize the system performance. 4. Further research about ut the influence of using shared storage to the performance rmance of syste systems needs to be done. 5. Need for further research arch on the effects of the use of load Balancer thas also so used as a server application to the system performance. nce. In this case load balancer is
not only act as a balancer but also as a service provider. REFERENCES [1]
Bastiaansen, Rob., van Vugt, Sander. (2006) : Novell Cluster Services for Linux and Netware, Novell Press. [2] Bourke, Tony. (2001) : Server Load Balancing, O’Reilly & Associates, Inc. [3] Brown, Chris. (2006) : SUSE Linux : A Complete Guide to Novell’s Community Distribution, O’Reilly Media, Inc. [4] Gropp, William., Lusk, Ewing., Sterling, Thomas. (2003) : Beowulf Cluster Computing with Linux, Second Edition, The MIT Press. [5] Kopparapu, Chandra. (2002) : Load Balancing Server, Firewalls, and Caches, John Wiley & Sons, Inc. [6] Kopper, Carl. (2005) : The Linux Enterprise Cluster : Build a High Availability Cluster with Commodity Hardware and Free Software, No Starch Press, Inc. [7] Marcus, Evan., Stern, Hal. (2003) : Blueprints for High Availability, Second Edition, Wiley Publishing, Inc. [8] McCabe, James D. (2007) : Network Analysis, Architecture, and Design, Morgan Kaufmann Publishers. [9] Novell, Inc. (2008) : Manual SUSE Linux Enterprise Server 10 SP2 : Heartbeat. [10] Robertson, Alan. (2008) : Linux-HA Release 2 Tutorial. [11] Romanovsky, Alexander B. (1993) : Fault Tolerance : Synchronization of Redundancy. ACM SIGOPS Operating Systems Review Vol.27, Issue 4, 58-66. [12] Zhang, Wensong. (2000) : Linux Virtual Server for Scalable Network Services, Ottawa Linux Symposium.