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.
Screenshot diatas diambil pada saat jam sibuk. Squid diakses oleh ~20 klien saya.
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
makasih bnyk mas… sy copas refresh patternya hit nya langsung melejit. semoga nambah ganteng
alhamdulillah.. semoga manfaat ya mas.
gan kalo facebook bisa di cache ga? sekarang dah pake https semua jadi dah ga bisa di cache :(
nah itu.. kalo https ndak bisa. :(
sarankan aja pelanggannya untuk pake FB non-https. hehehe..
om link ebooknya ndak bisa om.. mau dong di angkat lagi.. semangat ;)
linknya udah ane perbaiki, trims infonya.
kk, udah ada refres patern yg terbaru ga? mohon bantuanya kk, saya masih cupu dibidang squid kk