SQUID WEB PROXY PERFORMANCE

Hasil kumpulan dari pengalaman-pengalaman untuk mengoptimalkan kerja proxy server (SQUID), semoga proxy server SQUID tersebut akan bekerja lebih cepat dengan hit ratio lebih dari 50%. ## Jika ada beberapa situs terdekat yg mungkin hanya 1 hop, di-by pass saja supaya kerja Squid benar-benar utk yg jaraknya jauh

hierarchy_stoplist cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
acl QUERY urlpath_regex cgi-bin ? localhost domain-anda.com isp-anda.com
domainku.web.id
no_cache deny QUERY
acl langsung dst xxx.xx.xxx.x/xx
no_cache deny langsung

dimana :
dst = IP
misal 202.95.150.0/29
## Dari pengalaman 6 MB akan lebih cepat dan biarkan Squid bekerja lebih keras lagi
cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99


## Maksimum obyek di hardisk dan di memori diupayakan lebih besar shg byte hit lebih tinggi (bisa dinaikkan lagi jika hardisk berkecepatan tinggi dan jumlahnya banyak dg memori yg lebih besar pula)
maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB


## Jika memori 512 MB atau lebih besar silahkan cache diperbesar
ipcache_size 2048
ipcache_low 98
ipcache_high 99


## Utk heap replacement saya memakai LFUDA utk cache hardisk dan GDSF utk cache memori dg alasan di hardisk diprioritaskan obyek yg ukuran besar-besar dan di memori obyek yg ukurannya kecil-kecil utk disimpan
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


## Idealnya ruang di hardisk yg anda pakai hanya sekitar 70% dari total krn semakin penuh Squid akan semakin pelan mencari tempat kosong, mis. utk cache 1 GB maka yg dipakai hanya 700MB (jangan 1GB dipakai semuanya). Jangan lupa hanya 1 direktori per drive krn faktor penghambat adalah kecepatan spindle hardisk lho, bukan terus dg memperbanyak direktori pada 1 hd akan mempercepat (hd orde milidetik, memori orde
nanodetik). Jadi mending hardisknya banyak tapi ukurannya kecil-kecil daripada hanya 1 berukuran besar. Terus jika OS-nya Linux pakailah FS-nya Reiser (versi 4 tercepat) dg metode akses aufs. Diskd optimal di FreeBSD tetapi tidak di Linux lho. Jangan lupa di partisi tsb noatime dan notail diaktifkan spy tidak menambah ekstra write saat menulis atau membaca. Intinya hardisk adalah faktor penghambat terbesar di Squid.
## saran kira2 70% dari 16GB
cache_dir aufs /cachez 12000 28 256
atau (utk ruang 4GB-an per hardisk)
cache_dir aufs /cachehardisk1 3000 8 256
cache_dir aufs /cachehardisk2 3000 8 256
cache_dir aufs /cachehardisk3 3000 8 256
cache_dir aufs /cachehardisk4 3000 8 256


## atau minimal di bawah ini supaya modifikasi tidak terlalu jauh
cache_dir diskd /cachez 12000 28 256 Q1=72 Q2=88
Rumus Squid cache Dir :
[[[ X/13 ] / 256] / 256] * 2, contoh :
12.000.000/13 = 923076,9 / 256 = 3605,8 / 256 = 14 * 2 = 28


## Log utk info yg vital saja dan diusahakan file-file log ada di hardisk tersendiri spy tidak mempengaruhi kecepatan direktori cache utamanya
log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none


## Dg ‘menipu’ dan memaksa sedikit supaya akses obyek lebih intensif di lokal Squid dan waktu simpan ditambah sebelum proses validasi terjadi (mis. validasi terjadi per 3 jam dg penyimpanan obyek terlama 3 bulan, utk ftp bisa lebih lama lagi)
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod


## Toleransi aborting dihilangkan saja
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98


## Mematikan dan merekonfigurasi Squid jangan terlalu cepat krn bisa mengakibatkan integritas file kacau shutdown_lifetime 10 seconds
## tidak perlu reservasi memori
memory_pools off

## Penting utk relasi dg sibling dg mengukur respons-nya via ICP dan ICMP (dengan syarat mesin sibling/parent tsb diijinkan untuk menerima ICMP)
icp_hit_stale on
query_icmp on


## Penting utk meningkatkan refresh pattern lebih lanjut
reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on


## Sekali lagi Squid diperlukan utk mengambil yg jaraknya jauh, jarak dekat langsung saja
acl local-dst dst semuaalamatlokal semuaalamatipygdekat
acl local-domain dstdomain localhost domain-anda.com isp-anda.com domainku.web.id
always_direct allow localhost local-dst local-domain
always_direct deny all


## Tidak begitu diperlukan
##ie_refresh on

Sbg penutup ada beberapa lagi utk sedikit menaikkan kinerjanya Squid lagi.
1. Naikkan prioritas Squid via nice –20 (-20 tertinggi, terserah dinaikkan sampai berapa, intinya supaya diproses dg prioritas lebih tinggi dibanding daemon yg lain, default prio=0). Mis. startup skrip: /usr/bin/nice -n –20 squid -DNY ….
2. Naikkan batasan FD (file deskriptor) juga saat startup: ulimit -HSn 8192
3. Bukalah sebanyak mungkin port utk akses keluar (bukan ke dalam lho): echo 1024 32768 > /proc/sys/net/ipv4/ip_local_port_range
Secara umum kesimpulannya:
1. Pergunakanlah atau sebarkanlah direktori cache Squid pada banyak hardisk (kecil2 dg jumlah banyak lebih baik daripada besar2 dg jumlah sedikit).
2. Pergunakanlah RAM sebesar mungkin (yg juga terrefleksikan ke ukuran direktori cache-nya).
3. Pergunakanlah FS (file system) yg berkecepatan tinggi (mis. ReiserFS, noatime, notail) dg metode aufs.
4. Kompilasi ulang Squid dg opsi2 minimum yg dibutuhkan supaya lebih gesit dan jangan lupa menambah kemampuan threads hardisk-nya.
5. Saran Adam Aube: kurangi ukuran maksimum object yg bisa di-cache jika ternyata lebih pelan aksesnya (artinya penghematan bw harus seimbang dg kecepatan akses)


Sumber: http://primadonal.wordpress.com
Sumber asli : http://www.bukuweb.com/

Tidak ada komentar:

Posting Komentar