Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
IMPLEMENTASI DAN PENGUJIAN PERFORMANSI LOAD BALANCING DENGAN ALGORITMA LEASTCONN PADA DATABASE SERVER Handoko1, Dodon Turianto Nugrahadi2, Ichsan Ridwan3 1,2 Prodi Ilmu Komputer FMIPA ULM 3 Prodi Fisika FMIPA ULM Jl. A. Yani Km36 Banjarbaru, Kalimantan selatan Email:
[email protected] 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, Stresstool, Client
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 179
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
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]. Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 180
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
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
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017 Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 181
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
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-ofqueries=(banyak query) --create-schema=(database tujuan) --query="(direktori sql)" --delimiter=";" --verbose --iterations=(jumlah menjalankan test) --debug-info.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 182
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
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
Virtual client 50 100 150 200 250 300 350 400 450 Rata-Rata (x̄ )
Hasil Waktu Respon (MIN) Database server yang Database server yang menggunakan load tidak menggunakan balancing dengan load balancing algoritma leastconn 1.953 0.766 3.968 2.125 6.812 3.797 8.204 6.11 18.141 6.078 20.078 6.438 21.766 9.334 42.391 10.781 42.906 11.375 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
Virtual client 50 100 150 200 250 300 350 400 450 Rata-Rata (x̄ )
Hasil Waktu Respon (MAX) Database server Database server yang yang tidak menggunakan load menggunakan load balancing dengan balancing algoritma leastconn 1.969 6.062 6.5 7.125 7.375 3.859 9.546 7.125 18.531 6.172 20.187 7.609 21.844 12.375 43.594 11.844 43.984 11.734 19,2811 8,2117
Sumber : Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server. 2017 Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 183
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
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
Virtual client 50 100 150 200 250 300 350 400 450 Rata-Rata (x̄ )
Hasil Waktu Respon (AVG) Database server Database server yang yang tidak menggunakan load menggunakan load balancing dengan balancing algoritma leastconn 1.961 3.414 5.234 4.625 7.093 3.828 8.875 6.617 18.336 6.125 20.132 7.023 21.805 10.859 42.992 11.312 43.445 11.554 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 menggunakan load balancing dengan menggunakan algoritma leastconn.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 184
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Waktu Response (MIN) 450
11.375
400
10.781
350
42.391 21.766
9.334
300
Client
42.906
20.078
6.438
250
6.078
200
8.204 6.11
Database server yang tidak menggunakan load balancing
18.141
Database server yang menggunakan load balancing dengan algoritma leastconn
6.812 3.797
150
3.968 2.125
100
1.953 0.766
50 0
10
20
30
40
50
Waktu (s)
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, ratarata 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.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 185
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Waktu Response (MAX) 450 400 350
Client
300
Database server yang tidak menggunakan load balancing
250 200
Database server yang menggunakan load balancing dengan algoritma leastconn
150 100 50 0
10
20
30
40
50
Waktu (s)
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.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 186
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
Hasil Waktu Rata-rata (AVG) 450
11.554
400
11.312
350
10.859
Client
300
43.445 42.992 21.805 20.132
7.023
250
6.125 8.875 6.617 7.093 3.828 5.234 4.625 1.961 3.414
200 150 100 50 0
10
Database server yang tidak menggunakan load balancing
18.336
Database server yang menggunakan load balancing dengan algoritma leastconn
20
30
40
50
Waktu (s)
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. 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. 4.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 187
Jurnal Elektronik Nasional Teknologi dan Ilmu Komputer (JENTIK)
DAFTAR PUSTAKA [1] Ellrod, C. 2010. Load Balancing – Round Robin. 2015. [2] [3] [4] [5]
Febrianto, Taufik. 2014. “Analisa Load Balancing Dengan Metode LVS Direct Routing Menggunakan Algoritma Round Robin dan Least Connection”. Universitas Sebelas Maret: Surabaya. Handoko. 2017. “Analisis Load Balancing Dengan Algoritma Leastconn Pada Database Server”. Universitas Lambung Mangkurat: Banjarmasin. 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. Noviyanto, Ari Budi, dkk. 2015. “Perancangan Dan Implementasi Load Balancing Reverse Proxy Menggunakan HAProxy Pada Aplikasi Web”. Vol 3, No 1, pp. 2338-6312, 2015.
Analisis Metode Load Balancing dengan Algoritma Leastconn pada Database Server(Handoko)| 188