Tutorial Optimasi Squid 2.7

Sudah dua hari ini, saya beserta teman saya Adry (link ke blognya ada di blogroll samping) melakukan tweaking konfigurasi web-cache dalam hal ini squid versi 2.7. Ibarat sekeping uang koin dengan 2 wajah, ada beberapa hal yang dianggap “merugikan” dan “menguntungkan” dalam penerapan squid.

Sisi menguntungkan dengan konfigurasi squid yang agresif adalah penghematan alokasi bandwidth yang sangat signifikan, antara 30% sampai dengan 50%. Namun, dalam hal ini banyak konten web yang diakses oleh client atau workstation menjadi statik. Inilah yang menjadi “kerugian”-nya!

Beberapa website yang memiliki konten dinamik, sebut saja detik.com atau web yang menyediakan berita secara realtime terkadang kontennya ikut di cache. Sehingga client yang mengakses web tersebut akan mendapati berita “basi”.

Setelah putar otak tujuh keliling dan mencoba berbagai macam teknik seperti menentukan web mana saja yang tidak di cache dan menentukan IP address yang “dianggap” tidak mengkonsumsi banyak bandwidth. Namun, cara yang demikian ternyata tidak efektif.

Terakhir diskusi kami, jatuh pada tweaking pada refresh_pattern. Dan tidak disangka, cara tersebut berhasil! Kebanyakan orang diluar sana – yang mungkin baru mengaplikasikan squid – menggunakan konfigurasi dari sumber yang tidak jelas, akan menemukan banyak permasalahan dengan squidnya. Dari kesimpulan yang kami buat ada banyak hal yang harus diperhatikan dalam menentukan konfigurasi squid. Antara lain kebiasaan browsing client, yang akan menentukan refresh_pattern yang tepat untuk squid.

2r4reo3

Screenshot diatas diambil pada saat jam sibuk. Squid diakses oleh ~20 klien saya.

2drdpiu

Screenshot diatas juga diambil pada saat jam sibuk oleh Adry. Squid diakses oleh ~60 klien.

Terlihat HIT rate yang sangat signifikan! – dan penghematan bandwidth yang sangat LUMAYAN! :)

Saya juga menyempatkan untuk menulis ebook kecil tentang refresh_pattern, dan dapat di download disini.

Berikut adalah refresh pattern yang saya gunakan. refresh_pattern ini diambil dari Forum Mikrotik Indonesia, beberapa web, serta beberapa penyesuaian.

# refresh patterns

refresh_pattern -i \.(cab|3gp|swf|mp4|mp3|mkv|rm|rmvb|avi|mpeg|mpg)$ 43200 95% 262800 ignore-reload ignore-no-cache ignore-private override-expire

# web contents
refresh_pattern -i \.(class|css|js|xml)$ 1440 50% 10080 ignore-no-cache ignore-private reload-into-ims override-lastmod
refresh_pattern -i \.index\.(html|htm|php)$ 0 50% 1
refresh_pattern -i \.(cgi|asp|shtml|pl|html|htm)$ 0 20% 1

# web video
refresh_pattern -i (get_video\?|videoplayback\?id|videoplayback.*id) 10080 500% 43200 override-expire ignore-no-cache ignore-private ignore-reload

# images
refresh_pattern -i \.(jp(e?g|e|2)|gif|png|tiff?|bmp|ico|flv)(\?|$) 10080 300% 43200 override-expire override-lastmod reload-into-ims ignore-reload

# compressed files
refresh_pattern -i \.(exe|zip|rar|tgz|msi|sis|xpi|bin|jar)(\?|$) 10080 3000% 43200 reload-into-ims ignore-no-cache

# facebook
refresh_pattern ((facebook.com)|(85.131.151.39)).*\.(jpg|png|gif) 43800 200% 10080 ignore-reload override-expire ignore-no-cache ignore-private reload-into-ims
refresh_pattern -i ^http:\/\/*\.[a-z]\.fbcdn.net.*\.(jpg|gif|png|swf|mp3|flv|mp4) 43800 200% 10080 ignore-reload override-expire ignore-no-cache ignore-private reload-into-ims
refresh_pattern -i static\.[a-z]\.fbcdn\.net*\.(jpg|gif|png) 43800 200% 10080 ignore-reload override-expire ignore-no-cache ignore-private reload-into-ims
refresh_pattern -i ^http:\/\/profile\.[a-z]\.fbcdn.net*\.(jpg|gif|png) 43800 200% 10080 ignore-reload override-expire ignore-no-cache ignore-private reload-into-ims
refresh_pattern -i ^http:\/\/*\.akamaihd\.(net|com).*\.(jpg|gif|png) 43800 200% 10080 ignore-reload override-expire ignore-no-cache ignore-private reload-into-ims

# banner IIX
refresh_pattern ^http:\/\/openx.*\.(jp(e?g|e|2)|gif|pn[pg]|swf|ico|css|tiff?) 129600 99999% 129600 reload-into-ims  ignore-reload override-expire ignore-no-cache
refresh_pattern ^http:\/\/ads(1|2|3).kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern ^http:\/\/img.ads.kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern .kompasimages.com.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern ^http:\/\/openx.kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern kaskus.\us.*\.(jp(e?g|e|2)|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern -i cdn-[a-z]\.kaskus.\us.*\.(jp(e?g|e|2)|gif|png) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern ^http:\/\/img.kaskus.us.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache
refresh_pattern ^.*(utm\.gif|ads\?|rmxads\.com|ad\.z5x\.net|bh\.contextweb\.com|bstats\.adbrite\.com|a1\.interclick\.com|ad\.trafficmp\.com|ads\.cubics\.com|ad\.xtendmedia\.com|\.googlesyndication\.com|advertising\.com|yieldmanager|game-advertising\.com|pixel\.quantserve\.com|adperium\.com|doubleclick\.net|adserving\.cpxinteractive\.com|syndication\.com|media.fastclick.net).* 43200 20% 43200 ignore-no-cache ignore-private override-expire ignore-reload

# ytimg, google, etc
refresh_pattern ^.*safebrowsing.*google 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-private
refresh_pattern ^http://((cbk|mt|khm|mlt)[0-9]?)\.google\.co(m|\.id) 43200 999999% 43200 override-expire ignore-reload ignore-private
refresh_pattern ytimg\.com.*\.jpg 43200 999999% 43200 override-expire ignore-reload
refresh_pattern ^http:\/\/www.onemanga.com.*\/ 43200 999999% 43200 reload-into-ims ignore-no-cache ignore-reload override-expire
refresh_pattern ^http://v\.okezone\.com/get_video\/([a-zA-Z0-9]) 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-private override-lastmod

# facebook games
refresh_pattern ^http:\/\/apps.facebook.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache
refresh_pattern -i \.zynga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache
refresh_pattern -i \.farmville.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache
refresh_pattern -i \.ninjasaga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache
refresh_pattern -i \.mafiawars.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache
refresh_pattern -i \.crowdstar.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache

# IIX download
refresh_pattern -i ^http:\/\/\.www[0-9][0-9]\.indowebster\.com\/(.*)(mp3|rar|zip|flv|wmv|3gp|mp(4|3)|exe|msi|zip) 43200 99999% 129600 reload-into-ims  ignore-reload override-expire ignore-no-cache

# other
refresh_pattern ^ftp: 480 60% 22160
refresh_pattern . 180 60% 4320
About Fajar R. 297 Articles
Seseorang yang antusias terhadap dunia internet, IT, networking dan komputer. Tipikal introvert tapi suka berorganisasi dan adventuring ke tempat-tempat baru.

7 Komentar

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.


*