Tabel Pengujian Instalasi Dan Konfigurasi Squid Proxy

52 Squid baik yang ter cache maupun yang tidak, maka dengan kata lain total request adalah jumlah semua baris yang terdapat pada file access.log . Seluruh parameter yang dihitung pada penelitian ini disaring agar parameter yang dicatat adalah hanya yang dipakai oleh program Squid saja, tepat pada saat target hit tercapai.

3.4. Tabel Pengujian

Berikut ini adalah tabel yang akan digunakan untuk pengujian: Tabel Pengambilan Data Kategori Web: [Statis, Dinamis, Aktif] Target [10, 20, 30, 40, 50] Pengujian eth ISP eth klien CPU Memory Disk HTTP Request cached HTTP Request total 1 2 ... 30 Tabel 3.4-1 Tabel Pengambilan Data Tabel 3.4-1 tabel pengambilan data adalah tabel yang digunakan untuk mencatat perolehan data pada saat dilakukan pengujian sebanyak tiga puluh kali per target hit per kategori, sehingga nantinya akan didapat sebanyak lima belas tabel. Parameter yang dicatat adalah nilai dari tiap parameter yang dihasilkan tepat pada saat target hit tercapai. 53 Tabel rata rata Kategori: [ Statis, Dinamis, Aktif ] Target HIT eth-ISP eth-klien CPU Memory Disk HTTP Request cached HTTP Request total 10 20 30 40 50 Tabel 3.4-2 Tabel Rata Rata Hasil Pengujian Setelah semua pengujian selesai, dilakukan pencatatan data yang didapat dari masing masing tabel hasil pengujian ke dalam tabel rata rata. pencatatan data dikelompokkan berdasarkan kategori jenis web yang diuji, sehingga akan didapat tiga tabel rata rata. Keterangan:  eth1-ISP adalah nilai total byte usage yang digunakan dari Proxy ke internet. Satuannya adalah MegaByte MB.  eth0-klien adalah nilai total byte usage dari Proxy ke klien. Satuannya adalah MegaByte MB.  CPU adalah nilai penggunaan resource CPU yang didapat pada saat HIT tercapai. Satuannya adalah persentase .  Memory adalah nilai besaran memori utama yang digunakan pada saat HIT tercapai. Satuannya adalah MegaByte MB.  Disk adalah nilai yang digunakan oleh partisi cache Squid saat HIT tercapai. Satuannya adalah MegaByte MB. 54  HTTP request cached adalah jumlah request yang masuk dalam kategori HIT. Digunakan untuk perhitungan hit ratio.  HTTP request total adalah jumlah semua request yang dihasilkan pada saat tiap pengujian berlangsung. Digunakan untuk perhitungan hit ratio. 55

BAB IV IMPLEMENTASI

4.1. Instalasi Dan Konfigurasi Squid Proxy

4.1.1. Konfigurasi tata letak partisi Dalam penelitian ini digunakan dua buah disk sebagai salah satu komponen yang digunakan untuk membangun sebuah Proxy server. WD7500AYYS 52GB 20GB 2GB Mount Point: Mount Point: var SWAP ST3808110AS 52GB Mount Point: Squidcache Disk pertama terdapat tiga partisi, yaitu 52GB dialokasikan untuk root directory , 20GB untuk var var , dan swap sebesar 2GB. Sedangkan disk kedua digunakan sebagai partisi cache untuk Squid Proxy. File konfigurasi pada Squid Proxy nantinya akan diatur untuk melakukan caching pada direktori Squidcache yang telah dialokasikan sebesar 52GB. 56 4.1.2. Instalasi program Program Squid dapat diunduh secara gratis dengan mengunjungi tautan http:www.squid-cache.orgVersions. Setelah source binary package tersimpan di komputer, lakukan ekstraksi dengan perintah tar –xvf squid-3.1.23.tar.gz di jendela terminal. langkah selanjutnya, masuk ke dalam direktori hasil ekstraksi Squid . Sebelum masuk proses instalasi, lakukan kompilasi pada Squid. Setelah program selesai dikompilasi, lakukan instalasi dengan mengetik make , kemudian make install . Jika tidak muncul pesan error, maka program Squid telah berhasil terpasang pada direktori etcSquid. 4.1.3. Konfigurasi Squid Proxy Program Squid Proxy membutuhkan perintah konfigurasi agar dapat bekerja. File konfigurasi dapat ditemukan pada etcsquidetcsquid.conf. Sebelum menjalankan program Squid, kita harus mengubah file squid.conf sesuai kebutuhan. Pengaturan paling dasar adalah menentukan pengaturan cache, meliputi lokasi pada disk , ukuran maksimum dan minimum, algoritma penghapusan, access control list, effective user , serta penambahan pengaturan pengaturan lain yang dirasa perlu sesuai kebutuhan. 57 4.1.4. Parameter konfigurasi squid.conf Berikut ini adalah beberapa parameter yang nanti akan digunakan sebagai konfigurasi pada squid.conf: 1. acl acl Access Control List adalah sebuah aturan spesifik yang digunakan untuk operasi pada Squid Proxy. Penggunaan: acl [nama_acl] [tipe_acl] [argumen] Contoh: acl klien src 10.10.10.028 Elemen acl: proto protokol transfer HTTP, FTP, dll. src IP address klien dst IP address server port nomor port tujuan server method HTTP request method List acl: http_access mengijinkan klien untuk mengakses port HTTP http_reply_access mengijinkan klien untuk menerima reply pada port HTTP cache mengatur respon yang tidak perlu dicache 58 2. http_port http_port mengatur port yang digunakan oleh Squid Proxy. Klien yang akan terhubung dengan Proxy harus menggunakan port yang ditentukan ini. Penggunaan: http_port [mode] [opsi] Contoh: http_port 10.10.10.1:80 accel vhost Mode http_port: intercept mendukung penolakan alamat ip tertentu tProxy dukungan linux TPROXY untuk spoofing koneksi yang keluar menggunakan IP milik klien accel untuk Proxy accelerator ssl-bump mendukung SSL untuk setiap request CONNECT dari klien ke server 3. cache_mem Digunakan untuk menetapkan jumlah memori ideal yang digunakan oleh obyek cache. Penggunaan: cache_mem [besar data] Contoh: cache_mem 512 MB 4. maximum_object_size Menetapkan ukuran file maksimum yang akan disimpan dalam disk. Obyek yang berukuran lebih besar dari parameter tidak akan disimpan di dalam disk. 59 Penggunaan: maximum_object_size [besar data] Contoh: maximum_object_size 1024 MB 5. minimum_object_size Merupakan kebalikan dari maximum_object_size, dimana file yang berukuran lebih kecil dari angka yang ditetapkan tidak akan disimpan dalam disk. Penggunaan: minimum_object_size [besar data] Contoh: minimum_object_size 64 KB 6. maximum_object_size_in_memory Menentukan ukuran file maksimum yang akan disimpan dalam memori. Nilai yang lebih besar dari angka yang ditentukan tidak akan disimpan dalam memori. Penggunaan: maximum_object_size_in_memory [besar data] Contoh: maximum_object_size_in_memory 32 MB 7. memory_replacement_policy Menetapkan jenis policy atau aturan yang digunakan untuk penggantian obyek dalam memori saat ruang penyimpanan telah habis. Penggunaan: memory_replacement_policy [policy] Contoh: memory_replacement_policy lru 60 8. cache_replacement_policy Sama dengan memory_replacement_policy, tetapi konfigurasi ini mengatur penggantian obyek pada ruang penyimanan hard disk. Penggunaan: cache_replacement_policy [policy] Contoh: cache_replacement_policy heap GDSF 9. cache_dir Menentukan tempat dimana cache akan disimpan dalam disk. Direktori yang digunakan untuk penyimpanan harus bersifat rewritable atau dapat ditulisi oleh user yang login pada server. Penggunaan: cache_dir [tipe] [lokasi] [besar data] [L1] [L2] [opsi] Contoh: cache_dir ufs cache 512 16 256 Argumen: tipe ufs aufs diskd lokasi Lokasi tempat file cache akan disimpan, dapat berupa direktori mount point besar data Menentukan besarnya kapasitas cache yang diijinkan. L1 Banyaknya jumlah subdirektori level pertama yang dibuat di bawah direktori untuk menyimpan cache 61 L2 Banyaknya jumlah subdirektori yang dibuat di bawah subdirektori pertama opsi Ukuran maksimum yang dissuport direktori penyimpanan 10. cache_swap_low, cache_swap_high Digunakan untuk menentukan batas atas dan bawah kapan sebuah obyek akan diganti berdasarkan besaran presentase dibanding total penggunaan disk. Penggunaan: cache_swap_low [persentase, 0-100] cache_swap_high [presentase, 0-100] Contoh: cache_swap_low 60 cache_swap_high 98 11. ipcache_size, ipcache_low, ipcache_high ipcache_size digunakan untuk menetukan ukuran cache untuk caching IP address . ipcache_low dan ipcache_high digunakan untuk menentukan batas atas dan bawahnya. Penggunaan: ipcache_size [jumlah entry] ipcache_low [presentase 0-100] ipcache_high [presentase 0-100] Contoh: ipcache_size 2048 ipcache_low 80 ipcache_high 95 62 12. refresh_pattern refresh_pattern digunakan untuk menentukan seberapa lama sebuah obyek akan tersimpan dalam Squid cache. Apabila umur obyek yang tersedia belum mencapai batasan yang ditentukan, maka Squid tidak akan meminta obyek dari server aslinya. Besaran waktunya dihitung dengan satuan menit. Penggunaan: refresh_pattern [-i] [regular expression] [min] [presentase] [max] [opsi] Contoh: refresh_pattern -i \.jpg 14400 95 20160 override-expire 13. cache_effective_user, cache_effective_group Menentukan hak akses user dan grup tertentu dalam sistem linux. Jika program Squid Proxy tidak dijalankan oleh root, maka pengguna harus menentukan user dan grup yang diijinkan untuk menjalankan program Squid Proxy . Penggunaan: cache_effective_user [UID] cache_effective_group [GID] Contoh: cache_effective_user Proxy cache_effective_group Proxy 63 14. access_log, cache_log Menentukan dimana file access.log dan cache.log akan disimpan di direktori. Penggunaan: access_log [lokasi file] cache_log [lokasi file] Contoh: access_log varlogSquidaccess.log cache_log varlogSquidcache.log 15. max_open_disk_fds Untuk menghindari terjadinya bottleneck pada disk, Squid dapat mengabaikan file yang ada dalam cache apabila jumlah file descriptor yang tersedia telah melebihi batas yang ditentukan. Penggunaan: max_open_disk_fds [ukuran] Contoh: max_open_disk_fds 0 0 artinya tidak ada batasan 16. max_filedesc Jumlah maksimal filedescriptor yang diijinkan. Apabila diset ke angka nol, maka Squid akan menggunakan nilai yang ditentukan dalam ulimit . Penggunaan: max_filedesc [nilai] Contoh: max_filedesc 65535 17. quick_abort_min, quick_abort_max Ketika pengguna membatalkan permintaan terhadap suatu obyek dari internet saat obyek belum ter-cache, Squid akan tetap menyelesaikan permintaan tersebut untuk di-cache. Apabila obyek yang sedang 64 diminta kurang dari nilai quick_abort_min, maka Squid akan tetap menyelesaikan permintaan tersebut. Jika obyek yang diminta berukuran lebih dari quick_abort_max, maka permintaan akan dibatalkan. Jika menginginkan untuk melanjutkan permintaan apapun setelah klien membatalkan permintaan, quick_abort_max dan quick_abort_min diberi nilai nol. Penggunaan: quick_abort_max [ukuran] KB quick_abort_max [ukuran] KB Contoh: quick_abort_max 0 KB quick_abort_max 0 KB 18. client_lifetime Menentukan lamanya sebuah klien diijinkan untuk tetap terhubung dengan proses caching. Opsi ini mencegah agar tidak terlalu banyak socket yang dibuka yang akan mempengaruhi parameter filedescriptor . Penggunaan: client_lifetime [besaran waktu] Contoh: client_lifetime 1 day 19. memory_pools Jika opsi ini diaktifkan, maka Squid akan menggunakan memori yang telah dialokasikan tapi belum digunakan, untuk dapat digunakan pada waktu kedepan. Penggunaan: memory_pools [on|off] Contoh: memory_pools off 65 20. refresh_all_ims Jika opsi ini diberi nilai on, maka Squid akan selalu melakukan pengecekan ke server asal ketika klien mengirimkan sebuah permintaan If-Modified-Since, misalnya adalah ketika klien melakukan refresh pada halaman website pada beberapa browser tertentu. Penggunaan: refresh_all_ims [on|off] Contoh: refresh_all_ims off 21. reload_into_ims Jika diberi nilai on, maka jika klien melakukan refreshreload pada halaman website, permintaan tersebut akan diubah menjadi If- Modified-Since. Penggunaan: reload_into_ims [on|off] Contoh: reload_into_ims off 22. offline_mode Jika diberi nilai on, maka Squid tidak akan melakukan validasi obyek yang telah berada dalam cache ke server aslinya. Penggunaan: offline_mode[on|off] Contoh: offline_mode on 66

4.2. Konfigurasi Program Pengambilan Data