Troubleshooting refresh_pattern pada Squid3


refresh_pattern

Sore ini lagi-lagi saya dihadapi dengan gejala browsing lambat dan halaman web yang gagal di load. Dengan developer tools bawaan web browser, saya lakukan inspect element dan hasilnya, terdapat error pada beberapa file yang berekstensi *.css. Ternyata dugaan awal saya benar, kemudian saya lakukan full refresh dengan menekan shortcut key Shift + F5. Hasilnya sama saja, file css tidak terload oleh browser.

Akhirnya saya masuk ke gateway dengan melakukan remote login dengan protokol ssh. Kemudian mengedit file konfigurasi squid.conf

vim /etc/squid3/squid.conf

dengan melihat-lihat configurasi squid yang ada, mata saya tertuju pada bagian tag #refresh_pattern

konfigurasi yang sedang berjalan seperti ini,

refresh_pattern -i \.(iso|deb|rpm|zip|tar|tgz|ram|rar|bin|ppt|doc)$ 10080 100% 43200 ignore-no-cache ignore-auth

lakukan sedikit, hingga menjadi seperti ini,

refresh_pattern -i \.(iso|deb|rpm|zip|tar|tgz|ram|rar|bin|ppt|doc)$ 10080 60% 43200 ignore-no-cache ignore-auth

Mengapa saya ubah menjadi 60%?

Katakanlah klien meminta sebuah berkas di http://website.com/text.zip pada satu jam yang lalu, dan berkas terakhir diubah (dibuat) pada server web enam jam yang lalu. Mari kita asumsikan bahwa server web tidak menentukan waktu kadaluwarsa. Jadi, kita memiliki nilai berikut untuk variabel yang berbeda:

Pada saat permintaan, usia objek adalah (6-1) = 5 jam.

Saat ini, usia respon adalah 1 jam.

Saat ini, lm-faktor adalah 1 ÷ 5 = 20 persen

Mari kita periksa apakah objek tersebut expired atau tidak :

Usia respon 60 menit, yang tidak lebih dari 1.440 (nilai maks), jadi ini tidak bisa menjadi faktor penentu. lm-faktor adalah 20 persen, yang kurang dari 60 persen, sehingga obyek belum expired.

refresh_pattern dapat digunakan untuk meningkatkan rasio HIT dengan menjaga objek yang kadaluarsa untuk waktu singkat, atau dengan menimpa beberapa header HTTP yang dikirim oleh server web. Sementara direktif cache dapat menggunakan ACL, refresh_pattern menggunakan regular expression (regex).

Keuntungan menggunakan direktif refresh_pattern adalah bahwa kita dapat mengubah masa objek cache, sedangkan dengan direktif cache yang kita hanya dapat mengontrol apakah permintaan harus di-cache atau tidak.

simpan konfigurasi dan keluar dari teks editor dengan key

/x

kemudian jalankan ulang squid dengan perintah

service squid3 restart

lakukan full refresh dengan menekan Shift + F5 pada keyboard

voila!

Tampilan halaman web sudah terlihat normal dan ketika dilakukan inspect element, file css sudah terload dengan baik.🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s