Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 179
IMPLEMENTASI DAN PENGUJIAN PERFORMANSI
LOAD BALANCING DENGAN ALGORITMA LEASTCONN
PADA DATABASE SERVER
Handoko1, Dodon Turianto Nugrahadi2, Ichsan Ridwan3
1,2Prodi Ilmu Komputer FMIPA ULM 3Prodi Fisika FMIPA ULM
Jl. A. Yani Km36 Banjarbaru, Kalimantan selatan Email:handoko207@gmail.com
Abstract
The development of information systems resulted in an increase in the number of Internet users, thus impacting the ability of the database server in responding to serve client requests. This research implements load balancing with leastconn algorithms on two database servers. Load balancing is used to distribute each client request. In this study, performed performance testing on the database server. The result is that server database response time that does not use load balancing is bigger than database server that uses load balancing, so with load balancing can reduce response time received by client. In addition, with stresstool testing, it is known that load balancing can increase the number of clients handled
Keywords: Server database, Load balancing, leastconn algorithm, Response time,
Stresstool, Client
Abstrak
Berkembangnya sistem informasi mengakibatkan peningkatan jumlah pengguna internet, sehingga berdampak pada kemampuan database server dalam memberikan respon untuk melayani permintaan client. Penelitian ini mengimplementasikan load balancing dengan algoritma leastconn pada dua buah database server. Load balancing digunakan untuk mendistribusikan setiap permintaan client. Pada penelitian ini, dilakukan pengujian performansi pada database server. Sehingga diperoleh hasil bahwa waktu respon database server yang tidak menggunakan load balancing lebih besar dibandingkan database server yang menggunakan load balancing, sehingga dengan load balancing dapat mengurangi waktu respon yang diterima client. Selain itu, dengan pengujian stresstool, diketahui bahwa load balancing mampu meningkatkan jumlah client yang ditangani
Kata kunci : Database server, Load balancing, Algoritma leastconn, Waktu respon,
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 180
1. PENDAHULUAN
Dewasa ini, teknologi informasi merupakan suatu kebutuhan yang tidak bisa dipandang sebelah mata lagi, mengingat pentingnya sebuah informasi pada saat ini. Terlebih lagi dengan informasi, seseorang akan bisa memiliki wawasan serta ilmu pengetahuan yang luas. Begitu banyak media informasi yang telah beredar pada saat ini, sehingga memudahkan kita untuk memperoleh informasi dengan sangat cepat.
Semakin berkembangnya sistem informasi dan data saat ini mengakibatkan peningkatan jumlah pengguna internet, berdampak pada kemampuan sebuah web
server dalam menangani request. Banyaknya jumlah request pada suatu web server
akan mengakibatkan terjadinya crash atau overloading bahkan kemungkinan server akan mengalami down. Teknik load balancing merupakan salah satu teknik yang digunakan untuk meningkatkan kinerja dan tingkat ketersediaan server, yaitu dengan membagi request yang datang ke beberapa server sekaligus, sehingga beban yang ditanggung oleh masing-masing server lebih ringan [2].
Salah satu jenis load balancer yang digunakan dalam proses load balancing adalah HAProxy. HAProxy memiliki kemampuan untuk mengontrol traffic dari masing-masing request data dari client dan menampilkan statistik dari pengunaan masing-masing web server yang dikontrolnya. HAProxy sebagai balancer reverse
proxy juga dapat mengatasi permasalahan yang diakibatkan oleh beban trafic yang
berlebihan. HAProxy membagi beban request yang masuk kedalam server HAProxy sehingga penggunaan HAProxy sebagai load balancer dapat mengatasi permasalahan tersebut karena adanya pembagian beban yang merata kepada kedua
server backend [5].
Load balancing memiliki beberapa algortima dalam mendistribusikan beban
salah satunya yaitu least connection. Algoritma Least Connection baik digunakan untuk jaringan internet yang memerlukan throughput yang paling maksimal [4]. Algoritma least connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan beban yang paling sedikit akan diberikan request berikutnya. Pada penelitian ini menggunakan metode load balancing menggunakan algoritma leastconn sebagai metode untuk mendistribusikan beban dan menggunakan parameter waktu respon dan banyaknya jumlah client yang mampu ditangani oleh database server. Penerapan load balancing pada database server juga mampu mengurangi waktu respon yang diterima client dan juga mampu meningkatkan jumlah client [3].
Implementasi load balancing dengan algoritma leastconn mempengaruhi performansi jumlah waktu respon dan jumlah client yang mampu ditangani oleh
database server. Karena load balancing dengan algoritma leastconn, membagi setiap
permintaan client dan meneruskannya ke database server yang memiliki beban kerja paling sedikit.
2. METODE PENELITIAN
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 [1].
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 181 Penjadwalan ini termasuk salah satu algoritma penjadwalan dinamik, karena memerlukan perhitungan koneksi aktif untuk masing-masing real server secara dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan pendistribusian ketika request yang datang sangat banyak. Sebagai contoh terdapat dua service-HTTP yaitu service HTTP-1 (terdapat 3 active HTTP transaction) dan
service HTTP 2 (terdapat 1 active HTTP transaction), maka service HTTP-2 akan
menerima request selanjutnya dikarenakan service HTTP-1 > service HTTP-2 pada nilai transaksi aktifnya. Pada tahap selanjutnya dibuat dua buah arsitektur database
server. Arsitektur yang pertama adalah arsitektur database server yang tidak
menggunakan load balancing dan arsitektur yang kedua adalah arsitektur database
server yang menggunakan load balancing dengan algoritma leastconn.
2.1. Perancangan Arsitektur
Perancangan arsitektur pada tahap ini menggunakan dua buah arsitektur. Arsitektur yang pertama adalah arsitektur tanpa menggunakan load balancing dan arsitektur yang kedua adalah arsitektur yang menggunakan load balancing dengan algoritma leastcon. Arsitektur database server hanya menggunakan satu unit
personal computer (PC) yang berfungsi sebagai database server sedangkan untuk
arsitektur database server yang mengunakan load balancing dengan algoritma
leastconn menggunakan dua unit personal computer (PC) yang berfungsi sebagai database server dan satu unit personal computer (PC) yang berfungsi sebagai load balancing.
Pada gambar 1, arsitektur dibuat dengan menggunakan satu unit personal
computer (PC) yang berfungsi sebagai database server dan satu unit personal computer (PC) yang berfungsi sebagai client yang saling terhubung ke switch dengan
menggunakan media kabel UTP dengan konektor RJ45.
Pada gambar 1, arsitektur database server yang tidak menggunakan load
balancing, personal computer (PC) database server menggunakan sistem operasi
Debian 8 Jessie dari Turnkey Linux dan MYSQL sebagai database server. Untuk
personal computer (PC) client menggunakan sistem operasi Windows 7 dari
Microsoft. Setelah setiap personal computer (PC) selesai di instalasi, maka tahap selanjutnya adalah melakukan konfigurasi IP. Untuk personal computer (PC)
database server IP yang digunakan adalah 10.50.22.11 dengan netmask
255.255.255.0 dan gateway 10.50.22.1. Dan untuk personal computer (PC) client IP yang digunakan adalah 10.50.22.21 dengan netmask 255.255.255.0 dan gateway 10.50.22.1.
Gambar 1. Arstiektur Tanpa Load Balancing pada Database Server
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 182 Pada gambar 2, arsitektur dibuat dengan satu unit personal computer (PC) yang berfungsi sebagai load balancer server, dua unit personal computer (PC) yang berfungsi sebagai database server dan satu unit personal computer (PC) yang berfungsi sebagai client yang saling terhubung ke switch dengan media kabel UTP dengan konektor RJ45.
Pada gambar 2, arsitektur database server yang menggunakan load balancing dengan algoritma leastconn, personal computer (PC) load balancer server menggunakan sistem operasi Debian 8 Jessie dari Turnkey Linux dan HAProxy sebagai load balancer. Dua personal computer (PC) lainnya yang berfungsi sebagai
database server menggunakan sistem operasi Debian 8 Jessie dari Turnkey Linux
dan MYSQL sebagai database server. Untuk personal computer (PC) client menggunakan sistem operasi Windows 7 dari Microsoft. Setelah setiap personal
computer (PC) selesai di instalasi, maka tahap selanjutnya adalah melakukan
konfigurasi IP. Untuk personal computer (PC) database server yang pertama IP yang digunakan adalah 10.50.22.9 dengan netmask 255.255.255.0 dan gateway 10.50.22.1. Untuk personal computer (PC) database server yang kedua IP yang digunakan adalah 10.50.22.10 dengan netmask 255.255.255.0 dan gateway 10.50.22.1. Untuk personal computer (PC) load balancer IP yang digunakan adalah 10.50.22.12 dengan netmask 255.255.255.0 dan gateway 10.50.22.1. dan untuk
personal computer (PC) client IP yang digunakan adalah 10.50.22.22 dengan netmask 255.255.255.0 dan gateway 10.50.22.1.
Gambar 2. Arsitektur Load Balancing pada Database Server
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
2.2. Pengumpulan Data
Pengumpulan data dilakukan dengan cara melakukan strestest pada setiap arsitektur datasbase server dengan mengunakan software MySQLSlap dengan jumlah 20 query per client. Perintah yang digunakan untuk melakukan strestest sebagai berikut : mysqlslap --user=(user database) --password=(password database) --host=(IP tujuan) --concurrency=(simulasi client) --number-of-queries=(banyak query) --create-schema=(database tujuan) --query="(direktori sql)" --delimiter=";" --verbose --iterations=(jumlah menjalankan test) --debug-info.
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 183
3. HASIL DAN PEMBAHASAN 3.1. Hasil
Setelah dilakukan pengumpulan data didapat data hasil pengumpulan data seperti pada tabel 1, tabel 2 dan tabel 3. Untuk tabel 1 adalah data waktu respon
minimum. Pada tabel 1, data diambil sebanyak 9 variasi jumlah record dengan
jumlah virtual client paling sedikit 50 dan paling banyak 450. Tabel 1. Hasil Waktu Respon Minimal
Hasil Waktu Respon (MIN)
Virtual client
Database server yang
tidak menggunakan
load balancing
Database server yang
menggunakan load balancing dengan algoritma leastconn 50 1.953 0.766 100 3.968 2.125 150 6.812 3.797 200 8.204 6.11 250 18.141 6.078 300 20.078 6.438 350 21.766 9.334 400 42.391 10.781 450 42.906 11.375 Rata-Rata (x̄) 18,4688 6,3116
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
Pada tabel 2 adalah data waktu respon maximum. Pada tabel 2, data diambil sebanyak 9 variasi jumlah record dengan jumlah virtual client paling sedikit 50 dan paling banyak 450.
Tabel 2. Hasil Waktu Respon Maximal Hasil Waktu Respon (MAX) Virtual client
Database server
yang tidak menggunakan load
balancing
Database server yang
menggunakan load balancing dengan algoritma leastconn 50 1.969 6.062 100 6.5 7.125 150 7.375 3.859 200 9.546 7.125 250 18.531 6.172 300 20.187 7.609 350 21.844 12.375 400 43.594 11.844 450 43.984 11.734 Rata-Rata (x̄) 19,2811 8,2117
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 184 Pada tabel 3 adalah data waktu respon average. Pada tabel 3, data diambil sebanyak 9 variasi jumlah record dengan jumlah virtual client paling sedikit 50 dan paling banyak 450.
Tabel 3. Hasil Waktu Respon Average Hasil Waktu Respon (AVG) Virtual client
Database server
yang tidak menggunakan load
balancing
Database server yang
menggunakan load balancing dengan algoritma leastconn 50 1.961 3.414 100 5.234 4.625 150 7.093 3.828 200 8.875 6.617 250 18.336 6.125 300 20.132 7.023 350 21.805 10.859 400 42.992 11.312 450 43.445 11.554 Rata-Rata (x̄) 18,8748 7,2619
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
3.2. Pembahasan
Pertama arsitektur database server yang tidak menggunakan load balancing dibuat sesuai dengan gambar 1. Kemudian dibuat arsitektur yang ke dua sesuai dengan gambar 2 yaitu arsitektur database server yang menggunakan load
balancing dengan algoritma leastconn. Setelah kedua arsitektur dibuat, dilakukan
pengambilan data dengan cara melakukan strestest dengan tools penguji. Hasil yang didapat dari tahap pengambilan data dapat dilihat pada tabel 1 untuk waktu respon
minimal, tabel 2 untuk waktu respon maximal dan tabel 3 untuk waktu respon average.
3.2.1. Waktu Respon Minimal
Pada tabel 1, didapat hasil waktu respon minimal dari pengujian pada
database server yang tidak menggunakan load balancing rata-ratanya adalah
18,4688 s, dan pada database server yang menggunakan load balancing dengan algoritma leastconn rata-ratanya adalah 6,3116 s. Pada gambar 3, dapat dilihat bahwa waktu respon minimal database server yang menggunakan load balancing dengan algoritma leastconn mampu mengurangi 34,17 persen dari pada database
server yang tidak menggunakan load balancing.
Pada gambar 3, terlihat juga bahwa pada tiap variasi jumlah record, rata-rata waktu respon minimal pada arsitektur database server yang tidak menggunakan
load balancing lebih besar dibandingkan dengan arsitektur database server yang
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 185 Gambar 3. Grafik Perbandingan Waktu Respon Minimum
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
3.2.2. Waktu Respon Maximal
Pada tabel 2, didapat hasil waktu respon maximal dari pengujian pada
database server yang tidak menggunakan load balancing rata-ratanya adalah
19,2811 s, dan pada database server yang menggunakan load balancing dengan algoritma leastconn rata-ratanya adalah 7,2619 s. Pada gambar 4, dapat dilihat bahwa waktu respon average database server yang menggunakan load balancing dengan algoritma leastconn mampu mengurangi 42,59 persen dari pada database
server yang tidak menggunakan load balancing.
Pada gambar 4, terlihat juga bahwa pada tiap variasi jumlah record, rata-rata waktu respon maximal pada arsitektur database server yang tidak menggunakan load balancing lebih besar dibandingkan dengan arsitektur database
server yang menggunakan load balancing dengan menggunakan algoritma leastconn. 0.766 2.125 3.797 6.11 6.078 6.438 9.334 10.781 11.375 1.953 3.968 6.812 8.204 18.141 20.078 21.766 42.391 42.906 0 10 20 30 40 50 50 100 150 200 250 300 350 400 450 Waktu (s) C lie nt
Waktu Response (MIN)
Database server yang tidak menggunakan load balancing Database server yang menggunakan load balancing dengan algoritma leastconn
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 186 Gambar 4. Grafik Perbandingan Waktu Respon Maximal
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
3.2.3. Waktu Respon Average
Pada tabel 3, didapat hasil waktu respon average dari pengujian pada
database server yang tidak menggunakan load balancing rata-ratanya adalah
18,8748 s, dan pada database server yang menggunakan load balancing dengan algoritma leastconn rata-ratanya adalah 8,2117 s. Pada gambar 4, dapat dilihat bahwa waktu respon maximal database server yang menggunakan load balancing dengan algoritma leastconn mampu mengurangi 34,17 persen dari pada database
server yang tidak menggunakan load balancing.
Pada gambar 5, terlihat juga bahwa pada tiap variasi jumlah record, waktu respon average pada arsitektur database server yang tidak menggunakan load
balancing lebih besar dibandingkan dengan arsitektur database server yang
menggunakan load balancing dengan menggunakan algoritma leastconn.
0 10 20 30 40 50 50 100 150 200 250 300 350 400 450 Waktu (s) C lie nt
Waktu Response (MAX)
Database server yang tidak menggunakan load balancing Database server yang menggunakan load balancing dengan algoritma leastconn
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 187 Gambar 5. Grafik Perbandingan Waktu Respon Average
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017
3.2.4. Client
Arsitektur database server yang tidak menggunakan load balancing mampu melayani client sebanyak 450 dan arsitektur database server yang menggunakan
load balancing mampu melayani client sebanyak 1400. Pada saat pengujian
terhadap database server yang tidak menggunakan load balancing dengan client sebanyak 500, database server mengalami bootleneck sehingga mengakibatkan terjadinya hang pada tools penguji. Sedangkan pada database server yang menggunakan load balancing pada client mencapai 500, database server masih memberikan respon. Pengujian terhadap database server yang menggunakan load
balancing diteruskan hingga jumlah client mencapai 1400. Saat client mencapai
1450 database server mulai mengalami bootleneck sehingga membuat service mysql
down. Sehingga dapat disimpulkan bahwa database server yang menggunakan load balancing dapat meningkatkan client sebanyak 32 persen.
4. SIMPULAN
Berdasarkan hasil penelitian maka diperoleh kesimpulan dari hasil pembahasan sebagai berikut :
a. Rata – rata waktu respon minimal = 18,4688 s, maximal = 19,2811 s, dan average = 18,8748 s database server yang tidak menggunakan load balancing lebih besar dibandingkan dengan waktu respon minimal = 6,3116 s, maximal = 8,2117 s, dan
average = 7,2619 s database server yang menggunakan load balancing.
b. Penerapan load balancing pada database server mampu mengurangi waktu respon yang diterima client sebesar 34,17 persen pada waktu respon minimal, 42,59 persen pada waktu respon maximal dan 34,17 persen pada waktu respon
average.
c. Database server yang menggunakan load balancing dapat meningkatkan client sebanyak 32 persen. 3.414 4.625 3.828 6.617 6.125 7.023 10.859 11.312 11.554 1.961 5.234 7.093 8.875 18.336 20.132 21.805 42.992 43.445 0 10 20 30 40 50 50 100 150 200 250 300 350 400 450 Waktu (s) C lie n t
Hasil Waktu Rata-rata (AVG)
Database server yang tidak menggunakan load balancing Database server yang menggunakan load balancing dengan algoritma leastconn
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 188
DAFTAR PUSTAKA
[1] Ellrod, C. 2010. Load Balancing – Round Robin. 2015.
[2] Febrianto, Taufik. 2014. “Analisa Load Balancing Dengan Metode LVS Direct Routing Menggunakan Algoritma Round Robin dan Least Connection”. Universitas Sebelas Maret: Surabaya.
[3] Handoko. 2017. “Analisis Load Balancing Dengan Algoritma Leastconn
Pada Database Server”. Universitas Lambung Mangkurat: Banjarmasin.
[4] Nasser. Husain dan Timotius Witono. 2016. “Analisis algoritma round robin, least connection, dan ratio pada load balancing menggunakan opnet
modeler”. Vol. 12, No. 1, pp. 2503-250X, 2016.
[5] Noviyanto, Ari Budi, dkk. 2015. “Perancangan Dan Implementasi Load
Balancing Reverse Proxy Menggunakan HAProxy Pada Aplikasi Web”. Vol