JTIKA. Vol. No. September 2021 ISSN:2657-0327 ANALISA IMPLEMENTASI LOAD BALANCING ROUND ROBIN DAN LEAST CONNECTION PADA WEB SERVER (STUDI KASUS PT UCC) (Analysis of the Implementation of Load Balancing Round Robin and Least Connection on a Web Server (Case Study of PT. UCC) ) Khoif Ekmawan* Prodi Teknik Informatika. Universitas Mercubuana Jl. Raya. RT. 4/RW. Meruya Sel. Kec. Kembangan. Jakarta. Daerah Khusus Ibukota Jakarta 11650 Email: xoifasd@gmail. *Penulis Korespondensi Abstract The web server is used at PT UCC to manage and store various information so that its presence must always be there when accessed by its workers both in low and high traffic conditions. Load balancing can be used to overcome slow connections and there is more than 1 server. In this study the author aims to compare the load balancing algorithm round robin and least connection using the nginx web server. The research is implementing the nginx web server because it is known for its opensource nature and has a load balancer function. Due to resource limitations, the server is run on a virtual machine that looks like a physical server. Server testing using httperf tools using throughput and response time measurement parameters. Testing by giving a load via httperf with a rate value of 30, 60 and 120. The results of the load balancing test, namely the least connection algorithm has a better throughput value and response time value than round At a given low connection rate, a single server still has good performance. When providing more connection rates, load balancing systems have better capabilities than single server. Keywords: Load balancing. Roundrobin. Least connection. Nginx. Httperf PENDAHULUAN Web server digunakan untuk memuat informasi yang di tempatkan pada halaman web. Fungsi utama web server adalah mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan dan mentransfer kedalam sebuah halaman web. Pada PT UCC web server digunakan untuk mengelola informasi untuk menunjang pekerjaan menjadi lebih mudah. Informasi yang dimuat merupakan informasi yang penting berhubungan dengan jalannya pekerjaan. Setiap karyawan maupun admin yang diberikan hak untuk mengelola informasi, mereka lakukan melalui halaman web. Maka dari itu, keberadaan dari web server diperlukan untuk Informasi harus mudah diakses dan selalu ada ketika dibutuhkan. Dengan menggunakan single server yang berjalan, membuat koneksi menjadi melambat seiring banyaknya karyawan atau admin yang mengakses halaman web pada waktu yang hampir bersamaan. Kemampuan dari server perlu ditingkatkan mengingat pekerjaan setiap waktu http://jtika. id/index. php/JTIKA/ mengalami peningkatan. Dengan mengetahui adanya permasalahan tersebut, penulis akan melakukan skenario implementasi terhadap algortima load balancing menggunakan web server nginx. Load balancing merupakan metode jaringan komputer untuk mendistribusikan beban kerja pada seluruh beberapa sumber daya komputasi, seperti komputer, cluster komputer, tautan jaringan, unit pemrosesan pusat atau drive disk. Penyeimbang beban meningkatkan distribusi beban kerja di berbagai sumber daya komputasi. Load balancing akan membagi jumlah pekerjaan yang harus dilakukan komputer antara dua atau lebih komputasi sehingga lebih banyak pekerjaan diselesaikan dalam jumlah waktu yang sama dan secara umum semua penggunaan dilayani lebih cepat. Pada metode load balancing terdapat metode round robin dan least Penerapan dari load balancing pada web server nginx memiliki alasan karena nginx merupakan salah satu software web server yang powerful dan mempunyai performa tinggi, selain itu nginx juga di JTIKA. Vol. No. September 2021 desain untuk server dengan sumber daya yang kecil. Penelitian akan membandingkan performa kinerja dari algoritma load balancing round robin dan least Round Robin adalah salah satu teknik mendistribusikan beberapa tautan jaringan untuk mencapai throughput maksimum dan waktu respons minimum untuk menghindari kelebihan beban. Sedangkan algoritma least connection melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan koneksi yang paling sedikit akan diberikan beban berikutnya, begitu pula server dengan koneksi banyak akan dialihkan bebannya ke server lain yang bebannya lebih rendah. Perbandingan performa akan dilakukan menggunakan tools httperf untuk mengetaui kinerja web server menggunakan kedua algortima load balancing tersebut. TINJAUAN PUSTAKA Berikut merupakan tinjaun pustaka dari penelitian sebelumnya yang pernah dilakukan mengenai topik penelitian kali ini. Da a a a g be d Pe a ca ga da Pengujian Load Balancing dan Failover Mengunakan d a a e e a load balancing dengan teknik failover yang diimplementasikan pada sistem operasi Ubuntu. Penelitian ini digunakan untuk mengatasi beban kerja yang tinggi pada sebuah server. Pengujian ini menggunakan software JMeter untuk mengetahui hasil rancangan sistem yang dibuat. Hasil dari perancangan sistem ini berhasil dalam melakukan pembagian beban kerja server. Dalam pengujian lain juga menunjukan bahwa penggunaan load balancing dapat menurunkan waktu respon dan throughput menjadi meningkat. Dalam jurnal internasional berjudul A High Availability Clusters Model Combined with Load Balancing and Shared Storage Technologies for Web Se e mengimplementasikan high avaibility cluster dan digabungkan dengan infrastruktur load balancing web Sistem dapat menyediakan penuh fasilitas ke penyedia hosting situs web dan organisasi bisnis besar. Sistem ini dapat memberikan layanan berkelanjutan meskipun setiap komponen sistem gagal secara tidak Dengan bantuan teknologi Linux Virtual Server (LVS) load balancing cluster dan dikombinasikan dengan virtualisasi serta teknologi shared storage untuk mencapai arsitektur tiga tingkat dari cluster server web. Teknologi ini tidak hanya meningkatkan http://jtika. id/index. php/JTIKA/ ISSN:2657-0327 ketersediaan, tetapi juga mempengaruhi keamanan dan kinerja layanan aplikasi yang diminta. Manfaat dari sistem ini yaitu mengatasi failover. kegagalan jaringan. mengatasi penyimpanan terbatas dan distribusi beban. Pada J a A a Pe ba d ga K e a Web Server Apache dan Nginx Menggunakan Httperf Pada P a Be a S d Ka melakukan pengujian terhadap kinerja web server Apache dan Nginx sesuai dengan permintaan dari Penulis melakukan pengujian menggunakan aplikasi Httperf untuk membandingkan throughput, koneksi, request, reply, dan error pada portal berita Setelah melakukan pengujian didapatkan hasil dimana dalam merespon dan menghubungkan data dari request pengguna, web server Nginx lebih unggul daripada Apache. Da a e e a Pe f a K e a Web Se e Be ba Ub dg a a dua buah server yaitu sistem operasi Ubuntu Linux dan Turnkey Linux yang bertujuan membandingkan performa kinerja web dengan nilai response time dan nilai throughput. Pengujian melakukan request rate sebanyak 10 - 100 request dengan jumlah 1000 koneksi dan 2000 koneksi. Hasil dari pengujian diperoleh bahwa web server dengan Ubuntu Linux lebih baik dengan nilai response time kecil dan nilai throughput besar. METODE PENELITIAN 1 Analisis Kebutuhan Analisis kebutuhan digunakan untuk menentukan kebutuhan apa saja yang akan digunakan dalam Dengan terpenuhinya kebutuhan akan mendapatkan hasil dari penelitian dan melakukan Berikut ini merupakan daftar kebutuhan yang dibutuhkan dalam penelitian ini. 1 Kebutuhan Perangkat Keras Perangkat keras yang dibutuhkan dalam perancangan sistem penelitian ini yaitu: PC Server Server yang dibutuhkan yaitu 4 buah server. Dengan rincian 3 buah server sebagai server utama dan 1 buah server sebagai pengontrol load balancing. Karena keterbatasan perangkat PC maka pada penelitian ini menggunakan sebuah mesin virtual sebagai solusi dari permasalahan tersebut. 4 buah server dijalankan pada mesin virtual pada sebuah PC dengan masing-masing 2 inti untuk processor-nya. JTIKA. Vol. No. September 2021 Disesuaikan dengan spesifikasi PC host agar tidak keberatan menjalankan mesin virtual. PC Client Perangkat keras ini berfungsi untuk melakukan request ke PC server. Penelitian ini membutuhkan 3 buah PC Client untuk melakukan pengujian terhadap algoritma load Dimana server yang digunakan yaitu sebanyak 4 buah server. Router Perangkat keras yang terakhir yaitu 1 buah router (Mikrotik routerboard hAp serie. digunakan untuk membuat sebuah jaringan wireless yang digunakan untuk menyambungkan antar PC client dan PC server. Router akan menjembatani request dari PC client dan diteruskan ke PC server. 2 Kebutuhan Perangkat Lunak Perangkat lunak dibutuhkan untuk menjalankan perangkat keras agar dapat digunakan dalam perancangan sistem. Berikut ini merupakan perangkat lunak yang dibutuhkan dalam penelitian: Oracle VM Virtualbox Merupakan sebuah perangkat lunak virtualisasi yang dapat digunakan sebagai media untuk menjalankan sistem operasi tambahan . pada sistem operasi utama . Dengan adanya virtualbox, server virtual yang dibangun dapat menyerupai server nyata. Winbox Digunakan untuk menghubungkan Mikrotik melalui MAC Address atau protokol IP. Winbox dapat melakukan konfigurasi terhadap Mikrotik RouteOS dan Routerboard. Browser Digunakan untuk pengetesan web server apakah berjalan atau tidak. Browser juga sebagai indikator apakah server telah hidup dan dapat melayani permintaan client. Sistem Operasi Pada penelitian ini menggunakan sistem operasi Linux Ubuntu 20. 04 sebagai server Dimana Ubuntu memiliki utilitas yang memadai, user friendly, dan merupakan perangkat lunak bebas. http://jtika. id/index. php/JTIKA/ ISSN:2657-0327 2 Perancangan Sistem Perancangan sistem jaringan menggunakan sebuah router sebagai penghubung antara client dan Sebuah server digunakan untuk pengontrol load balancing antar server utama. Berikut adalah gambar dari perancangan topologi jaringan. Gambar 1. Topologi Jaringan Pada gambar diatas merupakan diagram perancangan sistem. Berikut ini merupakan penjelasan mengenai topologi jaringan. Client Client berperan dalam melakukan request terhadap server. Request dari client akan diterima oleh wireless router untuk diatur ke server controller. Kemudian request akan diterima oleh server. Server Sebagai bagian dalam penyedia layanan yang mampu melayani permintaan client . Server akan menyediakan data yang dibutuhkan oleh client yang secara bergantian sesuai algoritma pada server controller. Wireless Router Wireless router akan menghubungkan setiap perangkat yang terhubung. Dimana bagian ini router meneruskan paket request dalam jaringan yang telah diarahkan sesuai algortima dalam server controller. Controller Controller sebagai server load balancing merupakan pusat dalam mengontrol terhadap sistem yang berjalan. Controller digunakan untuk menjalankan sistem load balancing. Request yang telah diterima oleh controller dari router, akan diteruskan dengan melakukan pemilihan server terlebih dahulu sesuai algoritma load balancing. Setelah ditentukan maka request akan langsung diteruskan ke JTIKA. Vol. No. September 2021 ISSN:2657-0327 1 Diagram Alur Perancangan Sistem Pada gambar 3 dapat dijelaskan bagaimana proses load balancing secara umum, yaitu pembagian beban pada server dalam membagi traffic secara Pada awal proses, client melakukan request kepada server. Request dari client akan masuk ke dalam controller load balancing dan dilakukan pengecekan Kemudian controller akan memilih server sesuai algoritma load balancing. Request client akan diteruskan ke dalam antrian server. Server akan merespon dan mengirimkan data kepada client. Sistem load balancing akan terus berjalan hingga request dari client telah berhenti. 3 Konfigurasi Perangkat Pada bab sebelumnya telah dibahas mengenai perancangan sistem. Dimana dalam perancangan sistem tersebut terdapat langkah dalam konfigurasi Konfigurasi perangkat merupakan langkah awal dalam melakukan analisa terhadap algoritma load Berikut merupakan konfigurasi perangkat yang digunakan: Gambar 2. Alur Perancangan Sistem 2 Perancangan Load Balancing Pada penelitian ini menggunakan perancangan sistem jaringan dengan menerapkan algoritma load balancing sebagai mekanisme dalam pemilihan server. Berikut ini merupakan diagram alur dari proses kerja load balancing : Konfigurasi pada perangkat Router Router mikrotik yang digunakan pada penelitian ini adalah Mikrotik routerboard hAp Router dapat kita lakukan konfigurasi melalui aplikasi Winbox. Pada dasarnya routerboard mikrotik bisa dikonfigurasi wifi hotspot dengan mode GUI. Pada penelitian ini penulis menggunakan mode CLI dalam Berikut konfigurasi router: Gambar 4. Konfigurasi hotspot router Gambar 3. Diagram alur Load Balancing http://jtika. id/index. php/JTIKA/ JTIKA. Vol. No. September 2021 Konfigurasi pada perangkat Server Penelitian ini menggunakan server virtual dengan memanfaatkan aplikasi Oracle VM Virtualbox dikarenakan keterbatasan perangkat komputer sebagai server. Dimana terdapat 4 buah server, sebuah server sebagai controller load balancing dan 3 buah server sebagai web Konfigurasi pada server dengan melakukan pengaturan terhadap alamat IP, jumlah core, adapter yang dipakai dan Pengaturan pada virtualbox dimana jumlah inti tiap server virtual yaitu 2 inti. Kemudian pada bagian adapter menggunakan jaringan Bridged Adapter Wireless Network Adapter. ISSN:2657-0327 Konfigurasi Algoritma Load Balancing Pengaturan algoritma load balancing dilakukan pada server controller load balancing. Konfigurasi dilakukan pada file default pada direktori etc/nginx/sites-available. Berikut merupakan source code dari load balancing round robin dan least connection. Algoritma Round Robin Round robin merupakan metode default Maka otomatis metode yang digunakan menggunakan algoritma round Beban akan dibagi rata ke seluruh Melakukan pengaturan IP dengan perintah $ sudo nano /etc/netplan/00installer-config. yaml pada setiap server dengan alamat IP statis: Tabel I Alamat IP statis server Nama server Server 1 Server 2 Server 3 Alamat IP Server Load Balancing Instalasi web server pada setiap server. Pada menggunakan web server nginx dengan perintah instalasi $ sudo apt install Website yang dipakai dalam pengujian ini yaitu menggunakan Wordpress yang telah dipasang pada setiap server. Gambar 5. Sorce code algoritma round robin Algoritma Least Connection Algoritma least connection membagi beban dengan memperhatikan server yang koneksinya paling sedikit. Server dengan koneksi paling sedikit akan diberikan beban berikutnya, begitu pula server dengan koneksi banyak akan dialihkan bebannya ke server lain yang bebannya lebih rendah. Sehingga beban setiap server berbeda-beda. Konfigurasi pada perangkat Client Konfigurasi pada perangkat client yaitu melakukan pengaturan terhadap alamat IP. Pada perangkat client dilakukan pengaturan alamat IP secara otomatis (DHCP). Dimana range IP yang dipakai oleh client 2 - 192. Untuk melakukan pengujian sistem maka pada client harus terpasang tools httperf. http://jtika. id/index. php/JTIKA/ JTIKA. Vol. No. September 2021 ISSN:2657-0327 $ sudo httperf --server 192. 15 --port 80 -num-conns a --rate b Pengujian dilakukan dalam kondisi setiap server telah menjalankan web server nginx dan dalam keadaan tidak menjalankan program aplikasi lain . Skenario pengujian dengan melakukan pengujian terhadap throughput dan response time dari algoritma load balancing pada server 192. Parameter throughput yaitu dengan satuan KB/s dan response time dengan satuan ms/req. Gambar 6. Source code algoritma least connection 4 Pengujian Perancangan Perancangan sistem yang telah dilakukan selanjutnya dilakukan pengujian. Tujuan dari pengujian yaitu untuk mengetahui perbandingan performa dari algoritma round robin dan least connection pada web Pengujian juga dilakukan untuk mengetahui nilai rata-rata pada setiap parameter yang diberikan. Pemberian request digunakan untuk memberi beban kepada server dalam satu waktu. Hasil dari setiap percobaan akan dibandingkan dan dilakukan analisa. Sehingga akan didapat perbandingan perfoma antara algoritma round robin dan least connection yang dapat disimpukan pada akhir penelitian. Pengujian yang dilakukan menggunakan httperf dengan parameter throughput (KB/. dan response time . s/re. Throughput merupakan bandwith aktual yang terukur pada ukuran waktu dalam jaringan. Pengujian ini digunakan untuk melihat performa jaringan dari segi kecepatan bandwith dalam pengiriman paket. Response time digunakan untuk mengetahui seberapa cepat server dalam menerima permintaan dari client. 5 Skenario Pengujian Pada skenario pengujian sistem menggunakan tools httperf dengan memberikan banyak koneksi dengan masing-masing rate berbeda. Untuk menjalankan pengujian pada tools httperf, berikut perintah yang digunakan: http://jtika. id/index. php/JTIKA/ Pengujian pada parameter throughput dan response time dilakukan dengan sebanyak 4 kali percobaan dengan dibagi menjadi 3 kategori: x 30 req/s . dengan banyak koneksi 30. x 60 req/s . dengan banyak koneksi 60. x 120 req/s . dengan banyak koneksi 120. Hasil dari pengujian dengan mengirimkan request akan didapat nilai dari throughput dan response time yang kemudian diambil nilai rataratanya dari hasil 4 kali percobaan. Perekaman hasil pengujian httperf dilakukan secara manual yaitu dengan menulis hasil pengukuran. Hal tersebut dilakukan karena pada httperf tidak ada fitur untuk menyimpan hasil pengukuran secara otomatis. HASIL DAN PEMBAHASAN 1 Hasil Pengujian Berikut ini disajikan tabel hasil pengukuran terhadap performa throughput dan response time menggunakan tools httperf. Throughput Tabel II Hasil pengujian throughput Throughput (KB/. round least round conn robin Rata249. Least JTIKA. Vol. No. September 2021 ISSN:2657-0327 Pada Tabel II merupakan hasil dari pengukuran throughput yang diperoleh dari pengujian algoritma menggunakan httperf. Nilai didapat pada bagian Net I/O. Nilai pada tabel merupakan jumlah total transfer data yang berhasil dilakukan pada server. Tabel diatas dapat dijelaskan sebagai berikut: Pada rate 30 nilai rata-rata throughput dari round robin sebesar 249,8 KB/s dan least connection sebesar 260,9 KB/s. Pada rate 60 nilai rata-rata throughput dari round robin sebesar 294,2 KB/s dan least connection sebesar 349,0 KB/s. Pada rate 120 nilai rata-rata throughput dari round robin sebesar 469,1 KB/s dan least connection sebesar 494,5 KB/s. Throughput KB/s Response time Tabel i. Hasil pengujian response time Response time . s/re. round least round least round least robin conn robin conn robin conn Rata36. Pada tabel i merupakan hasil pengukuran response time yang diperoleh dari hasil pengujian algoritma dengan httperf. Nilai response time merupakan lamanya transfer tiap request data yang berhasil dijalankan. Nilai tersebut dilihat pada bagian request rate. Dari tabel tersebut dapat dijelaskan sebagai berikut: Pada rate 30 nilai rata-rata response time algoritma round robin sebesar 36,0 ms/req, least connection sebesar 34,3 ms/req. round robin least conn Gambar 7. Perbandingan throughput round robin dan least connection Dari hasil pengukuran nilai throughput pada algoritma round robin dan least connection dapat dilakukan perbandingan dengan melihat masingmasing nilai pada setiap rate pada gambar 7. Dari keseluruhan pengujian throughput pada rate 30, rate 60 dan rate 120, algoritma least connection lebih unggul dengan menghasilkan nilai throughput yang lebih besar dari algoritma round robin. Semakin besar throughput yang dihasilkan maka semakin baik server dalam mengirimkan paket kepada client. Pada rate 60 nilai rata-rata response time algoritma round robin sebesar 27,3 ms/req, least connection sebesar 26,6 ms/req. Pada rate 120 nilai rata-rata response time algoritma round robin sebesar 19,2 ms/req, least connection sebesar 18,1 ms/req. Response time ms/req round robin least conn Gambar 8. Perbandingan response time round robin dan least connection http://jtika. id/index. php/JTIKA/ JTIKA. Vol. No. September 2021 ISSN:2657-0327 Throughput KB/s Pada gambar 8 merupakan perbandingan nilai response time dari algoritma round robin dan least Terdapat perbedaan dari kedua algoritma, nilai yang dihasilkan tidak jauh berbeda. Algoritma least connection memiliki response time lebih rendah dari round robin dari ketiga rate yang diuji yaitu rate 30, rate 60, dan rate 120. Semakin rendah response time pada server maka semakin bagus server tersebut. Server tunggal dengan sistem load balancing round robin least conn single server Pada bagian ini akan dibandingkan kinerja dari server tunggal dan sistem load balancing. Ratarata Ratarata Pada tabel IV merupakan hasil pengukuran pada single server dengan alamat IP 192. Dengan hasil nilai throughput dan response time pada tabel tersebut diugunakan untuk membandingkan dengan sistem load balancing. Gambar 9. Perbandingan throughput server tunggal dengan load balancing Gambar 9 merupakan perbandingan antara server tunggal sebelum dilakukan load balancing dan sesudah menggunakan sistem load balancing. Pengukuran menggunakan aplikasi httperf dengan kondisi server tetap dalam keadaan idle. Pada pengujian rate 30, nilai throughput single server sama dengan nilai dari least algoritma connection. Pada rate 60, throughput least connection lebih unggul dan berlanjut hingga rate 120 dimana single server memiliki nilai yang lebih rendah. Sementara kedua algoritma load balancing mampu meningkatkan throughput. Single server pada rate 120 mengalami kenaikan throughput namun lebih rendah. Dengan semakin meningkatnya koneksi yang diberikan, maka sistem load balancing lebih unggul dalam performa Sehingga load balancing efektif untuk di implementasikan pada jalur koneksi yang padat. Response time ms/req Tabel IV Hasil pengujian single server Response Throughput Time (KB/. s/re. Rata260. round robin least conn single server Gambar 10. Perbandingan response time single server dengan load balancing http://jtika. id/index. php/JTIKA/ JTIKA. Vol. No. September 2021 ISSN:2657-0327 DAFTAR PUSTAKA Pada gambar 10 menunjukan perbandingan nilai response time pada single server sebelum diterapkan load balancing dan setelah menggunakan sistem load balancing. Pada pengujian rate 30, nilai response time single server dan least connection lebih rendah dari round robin. Single server masih mampu mengatasi waktu respon dalam koneksi sedikit. Pada rate 60, sistem load balancing memiliki waktu respon yang lebih rendah dari single server. Begitu juga pada rate 120, nilai waktu respon sistem load balancing lebih rendah dari single server. sehingga pada pengujian response time, sistem load balancing lebih baik pada koneksi yang semakin banyak. KESIMPULAN DAN SARAN 1 Kesimpulan Pada bagian ini merupakan bagian akhir dalam melakukan penelitian setelah melakukan pengujian dan analisa dari sistem yang telah dirancang. Berikut beberapa kesimpulan dari penulis dari hasil penelitian: Penerapan algoritma load balancing round robin dan least connection dapat berjalan dengan baik dan memberikan nilai pengukuran yang baik. Apabila dibandingkan dengan single server, sistem load balancing menghasilkan nilai throughput dan response time lebih baik pada koneksi yang lebih banyak. Pada penelitian ini perbandingan antara algoritma load balancing, performa dari algoritma least connection lebih baik dan stabil pada semua pengujian rate. 2 Saran