Gambar 4 menjelaskan
flowchart
implementasi
shell script
pada
file server.
total unduh adalah total unduh
file
pada
file server
. Ukuran
file
adalah ukuran
file
yang disimpan pada
file server
. Alasan ukuran
file
ditentukan 100 mb sebagai acuan adalah dikarenakan
striping data
lebih efektif pada
file
berukuran besar, yang pada penelitian ini dipakai 100 mb sebagai batas minimal suatu
file
untuk dapat didistribusikan ke dalam
filesystem
tipe
striped
[7]. Tahap
monitoring
diperlukan untuk memonitor
file server
apakah telah berjalan sesuai dengan konfigurasi yang ditentukan. Monitoring menggunakan
tcptrack
dari sisi
head server
untuk memonitor kondisi
Gluster server
.
Tcptrack
memonitor alamat
IP Gluster
server
yang terhubung dengan
head server
berupa
transfer rate
dan status jaringan. Dari sisi
client, monitoring
dilakukan dengan mengamati
transfer rate
pada
download manager browser firefox.
Data yang didapat dari hasil
monitoring
akan dicatat dan dianalisa apakah sesuai hasil yang diingankan atau tidak dan apa yang menyebabkan hasil yang didapat
tersebut. Tahapan
management
adalah tahapan terakhir yang merupakan tahapan penting yang digunakan sebagai kebijakan utama untuk mendistribusikan
file
ke dalam
filesystem distributed
atau
striped
.
Management
dilakukan secara otomatis dengan menggunakan
shell script.
Shell script
akan mengatur dan mengecek kondisi
file
menggunakan
data
dari
database mysql
dan melakukan tindakan sesuai dengan kondisi yang telah ditentukan pada tahap
analysis
.
4. Hasil dan Pembahasan
Persiapan pertama yang dilakukan adalah dengan melakukan konfigurasi di ketiga
server
yang merupakan bagian dari
cluster GlusterFS
. Pembagian konfigurasi
server
dibagi ke dalam dua tahap. Tahap pertama adalah melakukan konfigurasi
gluster server
di kedua
server
yang nantinya berfungsi sebagai tempat penyimpanan
data
. Konfigurasi
gluster server
dapat dilihat pada gambar 5.
Gambar 5 Konfigurasi Gluster Server
Pada gambar 5,
gluster server
memiliki dua
directory
yang diperuntukkan untuk menyimpan
file
.
Directory
datadis adalah
directory
utama untuk menyimpan
file. Directory
data adalah
directory
untuk menyimpan
file
sementara. Semua
file
yang diupload ke
file server
akan otomatis disimpan ke dalam
directory
datadis. Sedangkan
file
yang akan disimpan pada
directory
data, adalah
file
yang telah diunduh sebanyak lebih dari seratus kali.
Shell script
inilah yang akan memindahkan
file
yang terdapat pada
directory
datadis ke dalam
directory
data. Tipe
distributed
adalah tipe
filesystem
di mana
file
yang didistribusikan ke dalam
file server
dibagi secara merata ke semua
bricks
yang ada. Tipe
striped
merupakan tipe
filesystem
dimana
file
yang ada dipecah ke dalam ukuran
block
kecil sesuai ukuran
block size
standar
glusterfs
yaitu 128 kb yang kemudian pada konfigurasi yang dipakai diubah menjadi 100 mb per
block data
. Tahap kedua adalah konfigurasi
head server
atau
gluster client
.
Gluster client
merupakan jembatan yang menghubungkan semua
gluster server
yang ada. Pada
server gluster client
inilah sebuah
virtual directory
akan digunakan oleh aplikasi
php
sebagai tempat penyimpanan
file
. Gambar 6 menunjukkan lokasi
storage
yang digunakan oleh
gluster server
.
Gambar 6 Filesystem Distributed dan Striped pada Gluster Client
Gambar 6 menunjukkan
web server
yang akan ditempatkan pada
head server GlusterFS
dengan tujuan agar
web server
dapat langsung menggunakan
directory volume gluster server
. Pada
server
ini juga terdapat aplikasi
php
yang digunakan untuk membuat
website
dengan fungsi
upload
dan
download
. Besaran maksimum
file
yang diatur oleh konfigurasi
file
pada
file
php.ini. Konfigurasi php.ini bertujuan untuk menyesuaikan dengan syarat yang dibuat pada
shell script
untuk mengatur besaran
file
minimum untuk didistribusikan ke
filesystem striped
, sehingga tidak terjadi kesalahan pada proses
management file
.
Database
yang digunakan adalah
database mysql
.
Database
menyimpan
data
yang berisi tentang informasi
file
tersimpan pada
file server
.
Field
utama yang terdapat pada
database file
adalah namafile, ukuran, path, totalhr. Struktur database dapat dilihat pada gambar 7.
Gambar 7 Struktur Utama Da tabase File
Gambar 7 menjelaskan rancangan
database
yang akan digunakan oleh
shell script
untuk
management file
.
Field
namafile adalah
data
berupa nama
file,
ukuran adalah
data
berupa ukuran
file
dalam satuan kb
kilobytes,
path adalah
data
berupa
directory
dimana
file
disimpan pada
gluster client
secara
virtual
, totalhr adalah
data
berupa total
download
dalam durasi kurun waktu satu jam.
Management file
secara dinamik diatur secara otomatis oleh
shell script
.
Shell script
berfungsi untuk melakukan kontrol secara berkala kepada
database file.
Setiap jam
shell script
akan mencari sebuah
file
yang memiliki total
download
melebihi batas minimum yang telah ditetapkan yaitu 100
download
per jam.
File
yang telah memiliki total
download
lebih dari 100 dan juga memiliki ukuran lebih dari 200 Mb, akan dicopy ke dalam
filesystem striped
yang terdapat pada
directory
data.
Shell script
akan terus melakukan pengecekan secara berkala sampai tidak ada lagi
file
yang memenuhi kriteria di atas, dan kemudian
shell script
akan berada dalam kondisi
idle.
Selain melakukan fungsi memindahkan
file
ke dalam
filesystem striped
,
shell script
juga bertanggung jawab untuk mengontrol total
size
dari seluruh
file
yang terdapat pada
filesystem striped.
Dikarenakan
filesystem distributed
merupakan
filesystem
utama tempat penyimpanan
file,
maka total
size
dari
filesystem striped
tidak dapat melebihi total
size filesystem distributed.
Oleh karena itu
shell script
juga bertugas untuk menghapus
file
dari
filesystem striped
untuk memberikan ruang kosong.
Kode Program 1 Shell Sript Management File Kode Program 1 Shell Script untuk Distribusi File
Kode
program
1 adalah
script
yang digunakan oleh
shell script
untuk
management file
yang berguna untuk mendisribusikan
file
pada
file server
. Pada kode
program
ini juga dijalankan perintah untuk mengecek
data file
pada
database
sebagai factor untuk melakukan sebuah tindakan pendisribusian
file. File
yang telah diseleksi dan memiliki tingkat
request
lebih dari 100
request
per detik dan memiliki ukuran
file
lebih dari 300
megabytes
akan didistribusikan ke dalam
gluster server
bertipe
filesystem striped
. Pengujian dilakukan dengan membandingkan keadaan dimana
Cluster File Server
hanya menggunakan satu tipe
filesystem
dengan
cluster file server
yang menggunakan gabungan kedua tipe
filesystem
dengan optimalisasi
shell script
. Pengujian melihat
transfer rate
yang dihasilkan jika kedua konfigurasi tersebut mengalami tingkat
request
yang tinggi yang menimbulkan
server overload
pada salah satu
gluster server
.
Tabel 2 Hasil Pengujian Throughput Gluster Server
binbash maxtotal=mysql
–D coba1 –u root –pcluster –e “select maxtotalhr as max from infofile where ukuran300000 and path=’varwwwserverdis’ and totalhr 100”
max={maxtotal:4} if[
“max” == “NULL”] then echo”no file”
else namafile=mysql
–D coba1 –u root –pcluster –e “select namafile from infofile where ukuran300000” nama={namafile:9}
fi cp varwwwserverdisnama varwwwserverstrip
Pengujian ke - Server 1
Distributed Mbps
Server 2
Striped Mbps
1 5,6
7,1 2
5,6 7,5
3 5,5
8,3 4
5,4 7,2
5 4,9
7,2 6
5,7 7,2
7 5,6
7,5 8
4,9 7,1
9 5,1
8,1 10
5,3 7,7
Pada tabel 2 terlihat jelas bahwa tipe
server striped
meningkatkan performa
throughput server
dengan rentang rata-rata 2-3
Mbps
. Hasil pengujian pada tabel 2 masih pada tahap awal dimana kedua
gluster server
dalam keadaan normal dan belum diberi batasan
transfer rate
. Pengujian selanjutnya adalah pengujian untuk melihat
throughput gluster server
jika salah satu
server
mengalamai penurunan
throughput
.
Gambar 8 Perbandingan Throughput Server Sebelum dan Sesudah Optimalisasi
Gambar 8 menunjukkan perbedaan signifikan
throuhput gluster server
.Pada
request
dengan total 100
request, transfer rate
pada kedua jenis
filesystem
relatif masih tidak terdapat perbedaan signifikan. Pada saat
request
telah melebih 100
requests
untuk
file
yang sama, maka oleh
management script
beban menjadi terbagi dua. Pada
server
1, dimana
file
yang diminta berada yang pada saat
requests
berada pada jumlah
maximum
,
shell script
memecah
file
yang diminta tersebut dan sebagian pecahannya didistribusikan ke
server 2
.
1000 2000
3000 4000
5000 6000
100 requests 100 requests
Distributed Striped
Gambar 9 Perbandingan Throughput antar Gluster Server
Gambar 9 merupakan grafik yang menunjukkan kondisi
real time
saat terjadi
transfer file
dari
gluster server
ke
gluster client
. Hasil
throughput server
1 mencerminkan adanya penurunan
throughput
secara drastis disaat
server
2 terjadi kenaikan
througput
yang sangat drastis. Hal ini dikarenakan
server
1 yang melakukan
transfer file
dalam keadaan
heavy load
sesudah
shell script
memindahkan pecahan dari
file
yang memiliki
requests rate
yang tinggi. Titik terjadinya perubahan
throughput
pada kedua
server
merupakan titik dimana
server
1 telah selesai melakukan
transfer file
dan kemudian dilanjutkan oleh
server
2 yang memiliki
throughput
yang lebih besar dibandingkan
server
1.
Gambar 10 Hasil Pengamatan Transfer Rate pada Client
Gambar 10 merupakan hasil pengujian dari sisi
client
yang melakukan
download file,
terlihat terjadi peningkatan
transfer rate
yang signifikan setelah rentang waktu 60 detik. Hal ini dikarenakan
file server
telah merespon dengan melakukan
management transfer file
dari sisi
file server
. Sehingga dari grafik 3 ini dapat disimpulkan bahwa optimalisasi dengan
management file server GlusterFS
berhasil meningkatkan
transfer rate
pada
client
yang mengunduh
file
yang dikategorikan sebagai
file
populer.
500 1000
1500 2000
2500 3000
10 20
30 40
50 60
70 80
90 Distributed
Striped Distributed
500 1000
1500 2000
2500
10 20
30 40
50 60
70 80
90 Client
5. Simpulan