• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA 2.1 Landasan Teori Sistem Operasi Sistem operasi dalam bahasa inggris Operating system (OS) adalah satu atau sekumpulan

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA 2.1 Landasan Teori Sistem Operasi Sistem operasi dalam bahasa inggris Operating system (OS) adalah satu atau sekumpulan"

Copied!
15
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA 2.1 Landasan Teori

2.1.1 Sistem Operasi

Sistem operasi dalam bahasa inggris Operating system (OS) adalah satu atau sekumpulan rutin perangkat lunak yang menjembatani antara program aplikasi dan perangkat keras yang mengalokasikan dan mengatur sumberdaya yang dipakai bersama oleh beberapa proses(Stallings, 2012). Sistem operasi memiliki tugas yaitu mengelola seluruh sumber daya sistem komputer dan sebagai penyedia layanan.Sistem operasi menyediakan System Call (berupa fungsi-fungsi atau API = Application Programming Interface). System Call ini memberikan abstraksi tingkat tinggi mesin untuk pemrograman. System Call berfungsi menghindarkan kompleksitas pemrograman dengan memberi sekumpulan instruksi yang lebih mudah dan nyaman, sistem operasi juga sebagai basis untuk program lain dimana program aplikasi dijalankan diatas sistem operasi, program-program itu memanfaatkan sumber daya sistem komputer dengan cara meminta layanan sistem operasi mengendalikan sumber daya untuk aplikasi sehingga penggunaan sumber daya sistem komputer dapat dilakukan secara benar dan efisien. Sistem operasi yang dikenal antara lain :

Windows (95, 98, ME, 2000, XP, VISTA, SERVER , Windows7) Linux (Red Hat, Slackware, Ubuntu, Fedora, Mikrotik, Debian, OpenSUSE)

UNIX

FreeBSD (Berkeley Software Distribution) SUN (SOLARIS)

DOS (MS-DOS)

Machintosh (MAC OS, MAC OSX) Dwi Febrian Handriyanto,2011. CentOS adalah OS Freeware yang termasuk dalam kernel Linux dan keluarga bawaan dari Red Hat.Kelebihan CentOS antara lain Merupakan OS freeware yang sangat handal untuk skala Enterpise, Merupakan satu-satunya OS

(2)

freeware yang didukung resmi oleh CPanel, Drivers RHEL dapat dipakai oleh CentOS karena isi CentOS adalah RHEL.

2.1.2 Web Server

Web Server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML(Fajri, 2011).

Web server adalah software yang menjadi tulang belakang dari world wide web(www).Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser lainnya.

Saat sekarang ini terdapat beberapa Aplikasi Web Server yang semuanya mempunyai kekurangan serta kelebihannya masing masing. Berikut diantaranya yang termasuk ke dalam jenis web server :

Apache Web Server The HTTP Web Server NGINX

Apache Tomcat

Microsoft windows Server 2003 Internet Information Services (IIS) Lighttpd

Jigsaw

Sun Java System Web Server Xitami Web Server

Zeus Web Server

Diantara kedelapan jenis web server diatas, aplikasi yang sering digunakan untuk sekarang ini adalah IIS dan APACHE

2.1.3 Pengertian Sistem Cluster

Dalam dunia komputasi, clustering adalah gabungan daribeberapa komputer yang bekerja sama untuk menghasilkanoutput dari masalah tertentu yang

(3)

diberikan (input) dimana developer sistem tersebut diharuskan membagi kerja ke setiap anggota gabungan komputer secara manual.

Secara umum, salah satu karakteristik utama computer cluster adalah konsep single entity dimana kumpulan banyak komputer yang menjadi komputer cluster dipandang sebagai satukesatuan sistem tunggal. Hal ini berarti bahwa developer tidak perlu lagi mengatur pembagian proses yang diberikan untukdidistribusikan ke masing-masing mesin dalam sistem cluster tersebut, tetapi developer cukup mendapatkan gambaran bahwa hasil dari proses yang diberikan oleh user dikerjakan oleh single sistem. Bagaimana pun juga, developer perlu mengetahui informasi pengolahan data oleh sistem cluster tersebut.Dari definisi umum di atas, banyak sekali macam konfigurasi untuk sistem cluster. Secara garis besar terdapat dua kelompok yaitu Load balancing dan Parallel computing

2.1.4 Load balancing

Load balancing adalah strategi penyebaran permintaan dari satu alamat IP dan port untuk beberapa proses di beberapa server. Ketika saatnya untuk membawa layanan untuk produksi, memberikan tiga manfaat penting: failover, skalabilitas, dan latency menurun.

Suatu hal yang sangat penting sekali pada sistem yang diharapkan dapat menangani beban simultan yang besar. Load balancing adalah suatu proses untuk memindahkan proses dari host yang memiliki beban kerja tinggi ke host yang memiliki beban kerja kecil. Ini bertujuan agar waktu rata-rata mengerjakan tugas akan rendah dan menaikkan utilitas prosesor(Dix, 2011).

Bagian penting dari suatu strategi dalam load balancing adalah migration policy, yang menentukan kapan suatu migrasi terjadi dan proses mana yang dimigrasikan contoh disaat salah satu server aplikasi mengalami down maka secara otomatis seluruh request akan di handle oleh server yang lain konsep Load Blancing yang nantinya diterapkan kurang lebih seperti gambar dibwah ini

(4)

Load Balancer akan membagi traffic kedalam aplikasi yang ada kemudian masing-masing aplikasi akan mengirimkan request data ke database.

2.1.5 HTTP/1.1

HTTP (Hypertext Transfer Protocol) merupakan protokol yang digunakan untuk mendistribusikan sistem informasi yang berbasis hypertext.Protokol ini merupakan protokol standar yang digunakan untuk mengakses HTML.HTTP diprakarsai oleh World Wide Web sistem informasi yang menyeluruh sejak tahun 1990.Apabila pada penjelajahan web dan pada alamat tertulis http://www.google.com; ini merupakan salah satu penggunaan protokol HTTP dalam web.

HTTP protocol adalah request/respon protocol.Client mengirimkan permintaan ke server dalam bentuk request metode, URI, dan protocol version, diikuti dengan pesan MIME (seperti pesan pengubah request), informasi klien, dan isi tubuh yang memungkinkan dibawa melalui koneksi ke server. Server merespon dengan baris status,termasuk pesan yang protokol versi dan sukses atau kode kesalahan, diikuti dengan pesan MIME seperti mengandung informasi server, informasi meta entitas, dan kemungkinan entity-body konten.

Http message berisi request dari client ke server dan respons dari server ke client.yang terdiri dari:

(5)

Pada message dipecah menjadi :

Di struktur tersebut terdapat request-lineSedangkan untuk request-line di bagi lagi menjadi

Pada request-line terdapat susunan sebagai berikut:

Method menganndung dalam hal ini menjadi token yaitu seperti fungsi OPTIONS,GET, HEAD, POST, PUT, DELETE, TRACE dan CONNECT dan request URI berisi Uniform Resource Identifier secara garis besar isi dari request line adalah seperti contoh dibawah ini:

(6)

Pada status-line terdapat susunan sebagai berikut Line

Yang paling penting pada status-line ini adalah status-code yang menunjukkan respon dari server dengan kode angka seperti 404 yang berarti halaman not found(The Internet Society, 1999) .

2.1.6 Siege dan Httperf

Siege adalah aplikasiyang dikembangkan oleh Jeffrey Fulmer. Siege adalah Http/Https regresi testing dan alat Benchmark http/https. Siege di design agar para developer untuk mengetahui bagaimana kondisi bertahan dengan beban yang ditanggung dari jaringan internet dengan kondisi dibawah tekanan(Menascé, Almeida, & Dowdy, 2004).

Fitur Siege antara lain :

Suport basic autentifikasi, cookies,HTTP dan HTTPS protocol Testing dengan beberapa koneksi secara bersamaan yang dapat diatur. Dapat digunakan untuk mengetest satu atau lebih URL secara simultan Report jumlah transaksi,elaps time,byte transferred, respon time, transaction rate, concurrency dan respon server

Httperf adalah program untuk mengukur kinerja atau performansi dari webserver yang dibuat oleh David Mosberger dari HP Labs.Httperf menyediakan fitur yang fleksibel dalam pembuatan beban kerja sesuai dengan parameter yang diberikan padanya(Rasian & Mursanto, 2009) .Htterfmerupakansebuah tool untuk sistem operasi turunan UNIX.Httperf dapat membangkitkan sejumlah paket load dan mendukung HTTP/1.0 dan HTTP/1.1(Bullock, 2007).

Dalam sebuah pengujianweb server sederhana, klien membuat sejumlah besar permintaan dari web server, sehingga akan terukur throughput yang berupa jumlah reply per second dari web server tersebut.

Cara paling mudah dalam mengukur performansi sebuah web server adalah dengan mengirimkan permintaan ke server dengan rate tertentu dan mengukur waktu permintaan tadi tiba kembali. Pengujian dilakukan beberapa kali dengan

(7)

meningkatkan permintaan secara monoton hingga pada rate tertentu didapatkan server menjadi jenuh (saturated).

Perintah berikut dapat digunakan untuk menguji web server secara httperf

httperf --server testhost.mydomain.com \ --uri index.html --num-conn 5000 \ --num-call 10 --rate 200 --timeout 5

Perintah di atas menginstruksikan httperf untuk menguji URL http://blog.uns.ac.id/index.php Perintah --num-conn 5000 menginstruksikan httperf untuk menyediakan 5000 koneksi, --num-call 10 sebagai pembentuk 10 request per koneksi, dan --rate 200 menetapkan httperf untuk membuat 200 koneksi baru per second. --timeout 5 mengatur waktu timeout sebesar 5 second, setiap permintaan yang tidak direspon dalam rentang waktu ini akan dianggap sebagai error.

Standar metrik keluaran dari httperf dapat dikelompokkan sebagai berikut (Bullock, 2007):

1) Total Section

Menampilkan jumlah total koneksi TCP yang dibuat, jumlah permintaan/ request, jumlah respon, dan waktu keseluruhan dari pengujian yang dilakukan. 2) Connection Section

Menjelaskan kinerja koneksi TCP yang dihasilkan selama pengujian. 3) Request Section

Menampilkan jumlah request per second yang didapatkan dari pengujian. 4) Reply Section

Menampilkan statistik dari jumlah reply per second terhadap pengujian yang dilakukan.

5) Miscellaneous Section

Menyediakan laporan tentang penggunaan CPU dan pemanfaatan jaringan pada mesin klien

(8)

Menampilkan jumlah error yang ditemukan selama pengujian.Pada error section ini terdapat bagian client-timo yang sangat berguna untuk mengetahui titik jenuh (saturated point) suatu web server.

2.1.7 Dispatcher Based Load Balancing Cluster

Dispatcher Based Load Balancing Cluster adalah salah satu metode Load Balancing Cluster yang bertujuan untuk melakukan kendali penuh client request dan mendistribusikan request diantara Web server. Metode ini menggunakan satu IP Virtual sebagai wakil dari Web-server Cluster,IP ini yang akan digunakan sebagai IP Dispatcher sebagai central secheduler, berbeda dengan DNS Based, metode ini menjadikan semua request dari client dan routing diatur langsung oleh dispatcher. Agar dapat mendistribusikan load atau request ke titik-titik web server Dispatcher Based secara unik dapat mengenali Web server tersebut melalui private address yang bisa jadi berbeda protocol levelnya tergantung dari arsitektur yang di usulkan.

Berikut gam

2.1.8 Algoritma Penjadwalan 1) Round Robin

(9)

Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak digunakan oleh perangkat load balancing. Algoritma ini membagi beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran.

Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.

Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.

Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum(Mahmood & Rashid, 2011).

2) Weight Round Robin

Algoritma Wieght Round Robinadalah algoritma yang memperlakukan real server dengan kapasitas proses yangberbeda. Masing-masing real server dapat diberi bobot bilanganinteger yang menunjukkan kapasitas proses, dimana bobot awal adalah 1(Mahmood & Rashid, 2011).

3) Least Connection Scheduling

Algoritma Least Connection Scheduling merupakan algoritma penjadwalanyang mengarahkan koneksi jaringan pada server aktif denganjumlah

(10)

koneksi yang paling sedikit.Penjadwalan ini termasuksalah satu algoritma penjadwalan dinamik, karena memerlukanperhitungan koneksi aktif untuk masing-masing real server least connection.scheduling termasuk dalam algoritma penjadwalan yang dinamis(Mahmood & Rashid, 2011).

4) Weight Least Connection Scheduling

Algoritma Weight Least Connection Scheduling merupakan algoritma penjadwalan Least Connection Scheduling yang masing masing server dapat diberikan bobot.kinerja pada masing-masing real server. Server dengan nilai Bobot yang lebih tinggi akan menerima persentase yang lebih besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada masing-masing real server dapat ditentukan dan koneksi jaringan dijadwalkan pada masing-masing real server dengan persentase jumlah koneksi aktif untuk masing-masing server sesuai dengan perbandingan bobotnya (bobot awal adalah 1).

2.1.9 Linux Virtual Server

Linux virtual server (LVS) adalah alternatif utama opensource yang menyediakan solusi untuk menciptakan sistem load balancing. Seperti yang Linux virtual server is a highly scalable and highly available server built on a cluster of real servers, with the load balancer running on the linux operating system

Maksud dari real server adalah mesin komputer yang benar benar melayani request yang ada.Real server dapat dihubungkan menggunakan LAN maupun WAN yang berkecepatan tinggi. Dan mesin yang menjadi ujung tombak cluster server adalah director, yaitu berupa single server yang menghubungkan real server dengan client dari luar sistem cluster.

Three Tired LVS adalah pembagian terpisah antara database server, load balance server dan application server.

CaraKerja Linux Virtual Server (LVS)

Saat request datang dari client ke director, request tersebut akan di teruskan ke salah satu real-server tertentu. Dan semua paket yang ada hubungan dengan request tersebutakan diproses oleh virtual server sampai sinkronisasi FIN dari

(11)

koneksi TCP atau connection timeout, tergantung pada idle time maksimum untuk sebuah koneksi. Pemilihan real server untuk melayani request baru dari client ditentukan oleh aturan yang diterapkan dan algoritma penjadwalan yang ada. Perangkat lunak LVS diimplementasikan di kernel linux yang sudah ter-patch pada mesin yang akan dijadikan director untuk memperoleh performa yang optimal. Walaupun patch dilakukan, LVS akan berfungsi jika dikompilasi ulang dalam kernel maupun dikompilasi sebagai modul kernel.

2.2 Penelitian Terkait

Penelitian mengenai perbandingan algoritma penjadwalan pada load balancer web server telah banyak dilakukan oleh beberapa peneliti dan dipublikasikan pada proceeding .Berikut ini beberapa jurnal terkait.

2.2.1 Penelitian

Balancing Algori leh Amjad

Mahmood dan Irfan Rashid pada tahun 2011 (Mahmood & Rashid, 2011).

Pada proceedingini membandingkan algorithma penjadwalan pada load balance web server yaitu Round Robin,Weight Round Robin, Least Connection, Least Loaded Server pada schema dispatcher based load balancing algorithms. Pengujian menggunkan dua parameter yang pertama adalah Workload Charcterization yang mencangkup File size, Request size dan Request Arrival rate yang ke dua adalah Performance Parameter yang mencangkup Latency,Number Of waiting Request dan Load.

Simulasi dilakukan dengan mengubah jumlah server yang didistribusikan dari skala 2,7,10,20 dan dengan kondisi request antara 50 sampai 250 persecond didapatkan beberapa kesimpulan diantaranya menitik beratkan pada dua hal yaitu pengaruh jumlah server dan Arrival rate. Jumlah server menunjukkan bahwa semakin banyak jumlahnya maka akan semakin berkurang beban dari masing masing server,Algoritma yang paling baik adalah Least Loaded Algorithms yang paling tidak stabil adalah Random Algorimths.

(12)

2.2.2 Jurnal of Load Balancing leh Sandeep Sharma,Sarabjit Singh dan Meenakshi Sharma(Sharma, Singh, & Sharma, 2008)

Jurnal tersebut meneliti algoritma load balancing dengan membandingkan algoritma penjadwalan statis dan dinamis dengan beberapa parameter berbeda dengan tujuan untuk membantu menciptakan algoritma baru dari mempelajari hasil analisa perbandingan algoritma yang sudah ada.Beberapa parameter yang dipakai adalah Overload Rejection, Fault Tolerant, Forecasting Accuracy, Stability, Centralized atau Decentralized, Nature of Load Balancing Algorithms, Cooperative, Process Migration, Resource Utilization.Hasil dari penelitian tersebut digambarkan dalam bentuk table yang berisi parameter dan hasil penelitian.

Pada penelitian ini dihasilkan kesimpulan bahwa algoritma penjadawalan

statis lebih stabil dan mudah untuk diprediksi dari pada algoritma penjadwalan dinamis.

2.2.3 of Load Balancing

leh Jyoti Vashistha dan Anant Kumar Jayswal pada tahun 2013(Vashista & Jayswal, 2013).

Penelitian tersebut mempunyai dua tujuan yang pertama membandingkan algoritma dengan kategori static load balancing algorithms dan dynamic load balancing algorithms dengan parameter performance antara lain Overload Rejection,Fault Tolerance,Forecasting Accuracy,Stability,Proses Migration,Recources Utilization,Throughput, Turnaround Time, Waiting Time,

(13)

Processor Trashing, Nature Of Load Balancing Algoritm. Yang kedua adalah membandingkan algoritma penjadwalan dengan metode Dispatcher Based Algorithmsdengan tujuan mengevaluasi hasil pada kondisi yang berbeda dan workload nya

Penelitian yang pertama menghasilkan table seperti pada gambar, pada penelitian ke dua menghasilkan kesimpulan bahwa algoritma Least Loaded menghasilkan keseimbangan yang terbaik dengan kondisi real server yang ditambah dengan skala 2,4,7,10,15,20 sedangkan untuk algoritma random memberikan hasil keseimbangan terburuk, untuk algoritma round robin keseimbangan yang dihasilkan baik apabila ukuran request file size nya sama,namun apabila request file size nya berubah signifikan membuat system menjadi tidak seimbang. Sedangkan pengaruh pada Arrival rate didapatkan hasil yang tidak jauh berbeda antar algoritma.

2.2.4

oleh Harikesh Singh dan Dr. Shishir Kumar pada tahun 2011(Singh & Kumar, 2011).

Penelitian tersebut bertujuan untuk mengembangkan teknik Load Balancing pada sistem web server dengan membandingkan kondisi Load Balancing server pada implementasi metodeDispatcher Based Dynamic Load Balancing menggunakan parameter Request Served, Troughput, Average respon time, percent error dengan kondisi sebelum menggunakan metode yang di usulkan.

(14)

Hasil dari penelitian tersebut dapat dilihat pada gambar table sebagai berikut:

Dari hasil pengujian tersebut di dapati adanya peningkatan respon time, troughput dan lebih sedikitnya error ketika sudah menggunakan teknikload balancing.

2.2.5

Application of State-owned Asset Management leh Zhike Han dan Quan Panpada tahun 2012 (Han & Pan, 2012).

Jurnal ini berisi tentang membangun LVS load balancing cluster technology dikombinasikan dengan virtualisasi dan teknologi shared storage dengan tujuan membangun arsitektur three-tier Web server cluster dalam rangka mencapailow-cost investment pada perangkat keras yang mahal,proses computingdanuntuk kepentinganbisnis. Arsitektur yang dibangun dan table perbandingannya:

LVS adalah salah satu solusi yang tepat, LVS via Direct Routing dan Tunnel dapat mensuport lebih banyak server dan kinerja load performanya sangat bagus.

Gambar 2. 5 Hasil test dua kondisi

(15)

2.3 Rencana Penelitian

Berdasarkan tinjauan pustaka yang ada, metode Dispatcher Based Load Balancing Cluster terbukti telah banyak digunakan dan diterapkan pada berberapa penelitian karena kelebihannya. Oleh karena itu, Dispatcher Based Load Balancing Cluster akan diterapkan dalam penelitian ini. Sistem konfigurasi yang akan digunakan adalah LVS via Direct Routing yang lebih baik dari LVS via NAT dan Tunnelling (Han & Pan, 2012).Parameter yang digunakan adalah Throughput, Response Time, Error dan Request Served. Algoritma yang digunakan adalah Round Robin (RR), Weight Round Robin(WRR), Least Connection (LC) dan Weight Least Connection(WLC).

Gambar

Gambar 2. 1 Load Balancing(Membrey, Plugge, & Hows, 2012).
Gambar 2. 2 Dispatcher Based (Teo & Ayani, 2001).
Gambar 2. 3 Tabel Komparasi
Gambar 2. 4 Tabel Komparasi
+2

Referensi

Dokumen terkait

Berdasarkan Tabel Hasil Analisis Regresi Linier didapatkan nilai koefisien determinasi ( R-square ) sebesar 0,167 yang berarti model dapat menjelaskan variasi tingkat

Pengujian secara keseluruhan menggunakan uji F, dimana F hitung (119,062) > F tabel (2,955), artinya variabel luas lahan, tenaga kerja, modal, dan harga berpengaruh

Kota Saumlaki merupakan satu pusat pertumbuhan Kabupaten Maluku Tenggara Barat dan memiliki aktivitas perekonomian yang intensif di sekitar wilayah pesisir, namun

2. Membuat sebuah boot event kampanye sosial bertema “Save trees, save our life” yang akan didirikan di 5 kantor partai besar yan memenangkan polling terbanyak

Maka barangkali engkau (Muhammad) akan mencelakakan dirimu karena bersedih hati setelah mereka berpaling, sekiranya mereka tidak beriman kepada keterangan ini (Al-Qur'an);

Data yang digunakan untuk skripsi ini adalah data pertumbuhan penduduk pada kecamatan Tebing Tinggi, data yang diolah pada skripsi ini adalah data pertumbuhan penduduk

Hasil penelitian tersebut sesuai dengan teori yang menyatakan bahwa aktivitas Aktivitas belajar adalah segala bentuk tindakan/kegiatan-kegiatan yang dilakukan mahasiswa

Dalam hal ini strategi yang dilakukan oleh Pemerintah Indonesia dalam hal upaya menanggulangi pelanggaran lalu lintas oleh kapal asing di perairan laut Indonesia adalah dengan