Sebelumnya
Refresh_pattern itu sebenarnya buat ngukur seberapa lama sih object itu
tersimpan di cache squid kita, krg lebih artinya umur objectnya gitu
deh, krn pada dasarnya beberapa object kadang selalu terupdate di server
websitenya.
Umumnya penulisan refresh_pattern tercantum min percent
max (sprti: 720 100% 4320), tentunya ada opsi2 lain dibelakangnya. min
dan max itu nilainya menit. Min itu batas minimum object harus direfresh
(diupdate dr server), sedangkan max itu batas maximal object harus
direfresh, kalo persennya itu utk perhitungan jika umur object berada di
antara min dan max.
Jadi bgini, swaktu kita akan merequest atau
membuka kembali sbuah object yg sudah tersimpan di cache, maka squid
akan menilai umur object berdasarkan refresh patternnya.
kalo umur
object masih berada di bawah nilai min, maka object itu dianggap masih
bs dipake kembali tanpa perlu ngecek ke server. Artinya, 'ah.. ni object
masih seger lah baru td disimpen kok, gak usah ngecek ke server
websitenya deh, ambil aja langsung trus tempel di halaman web'.
Tp
klo umur object berada di atas nilai max, maka squid akan melakukan
pengecekan ke server dan meminta object agar diupdate (refresh).
Nah,
bagaimana kalo object yg sedang diminta itu umurnya berada di antara
min dan max. Di sinilah nilai persentase itu dipake, persentase itu
maksudnya adalah persentase umur object di cache dibandingkan dengan
umur object di servernya. tp gmn njelasinnya ya, pke contoh aja yak:
ada sebuah objek, refresh_pattern nya 20 75% 300
object ini dibikin di servernya jam 1:00
object pertama kali direquest dan tersimpan dalam cache jam 1:30
object direquest kembali jam 1:45
Nah brarti umur object di cachenya adlh 15 mnit (1:45-1:30)
squid
blm bs menentukan object ini kadaluarsa apa blm krn berada di antara
batas min (10) dan max (300). Nah kali ini pake persentase, jd
perhitungannya ya hrs pake persen jg (bkn menit).
mari kita hitung persentase umur object:
umur object di cache: 15 menit (1:45-1:30)
umur object di server: 45 menit (1:45-1:30)
brarti persennya: 15/45 = 33%
Kesimpulannya, object dianggap masih fresh krn masih berada di bawah 75%.
cache swap low
"This directive, along with cache_swap_high controls the replacement of objects stored on disk.
It is a percentage of the maximum cache size, which comes from the sum of all cache_dir sizes."
penjelasan panjangnya
The cache_swap_low and cache_swap_high directives control the replacement of objects stored
on disk. Their values are a percentage of the maximum cache size, which comes from the sum
of all cache_dir sizes. For example:
cache_swap_low 90
cache_swap_high 95
As long as the total disk usage is below cache_swap_low, Squid doesn't remove cached objects.
As the cache size increases, Squid becomes more aggressive about removing objects. Under
steady-state conditions, you should find that disk usage stays relatively close to the
cache_swap_low value. You can see the current disk usage by requesting the storedir page
from the cache manage.
===============indonesianya===========
Cache_swap_low/high jumlah (dalam persen)
Squid
akan menghapus object yang ada didalam hardisknya jika media tersebut
mulai penuh. Ukuran penuh ini yang diset pada cache_swap_low dan
cache_swap_high. Bila batas swap_low telah tercapai maka squid mulai
menghapus dan jika batas swap_high tercapai maka squid akan semakin
sering menghapus.
Oleh : Rh354
Di kutip dari : http://ubuntu-indonesia.com/forums/ubbthreads.php/topics/45079/all/Jika_Cache_Dir_Squid_Hampir_Pe
Home » Archives for September 2013
Refresh Pattern ( Lanjutan )
Labels:
Squid
Refresh Pattern
Mekanisme umum akses internet via web browser utk menguji validitas
('freshness') obyek yg tersimpan adl dg 'menjenguk' obyek tsb ke server
asal/sumber dan membandingkannya dg obyek yg sama yg sudah tersimpan di
lokal. Jadi memang 'boros' walaupun belum tentu setiap saat obyek
tersebut diambil lho, jadi hanya sekedar di'tanyai' saja 'tgl lahirnya'
(dan ada beberapa info yg lain yg penting juga, tapi kita fokus di
'umur'nya saja). Dg demikian saran utk teman-teman yg mengelola warnet
adl dg memperbesar cache lokal web browser (internet temporary files-nya
utk IE dan tidak salah default-nya 10% dari ukuran partisinya ya?).
Kenapa kok 'umur' obyek (atau halaman web) diuji? Ya kira2 jawabannya
supaya informasinya selalu yg terbaru dan tidak salah (kalau tidak mau
yg terbaru dan selalu hanya mengakses yg sudah tersimpan di lokal cache
web browser ya di-set saja mode 'offline, dijamin akses akan sangat
lebih cepat dan sangat hemat bandwidth, tapi dg konsekuensi ekstrim spt
halaman tsb di server sudah dihapus, di sisi klien bakalan tidak tahu
lho). Kepingin mjd 'super boros' dg asumsi tanpa Squid atau cache server
(bukan lokal cache lho)? ya cache di web browser dimatikan saja shg
setiap saat akses internet akan selalu mengambil obyek/halaman langsung
dari server asal/sumbernya (tapi irit tempat di hardisk lokal, hanya ini
keuntungannya). Jelas dari sisi latensi akan naik drastis. Kira2 sudah
bisa dibayangkan ya? hi hi hi ... (makanya beberapa ISP secara diam2
akan men'transparan'kan cache server dg maksud mau membantu ekstrimis yg
'super boros' ini tadi, he he he ... apa hanya sekedar alasan buat
mereka menghemat bw ya?)
Baik skrg masuk peran Squid yg pada dasarnya bersifat 'shared' obyek lokal dalam konteks 1 domain. Secara garis besar mekanisme kerjanya mirip dg 'temporary cache' lokal web browser itu tadi cuma bedanya dipakai bersama dg user yg lain. Yg membedakan dalam kaitannya dg refresh_pattern adl Squid tidak tidak akan 'bertanya' validitas obyek jika ternyata 'umur'nya masih dalam durasi refresh_pattern-nya (default minimum Squid 120 menit atau 2 jam, kalau tidak salah). Jadi jika 'umur' obyek sejak di'lahir'kan belum mencapai 2 jam (utk contoh) maka Squid tidak akan mengakses server asal/sumber utk mengambil info 'umur'nya, dg kata lain obyek akan dianggap masih valid selama durasi waktu tadi (2 jam, misalnya), alias penghematan bw dan peningkatan responsivitas akses.
Kerugian jika refresh_pattern minimum (min) terlalu lama, misalnya kita set 1 hari, jelas jika ternyata dalam waktu kurang dari 1 hari obyek di ujung server asal berubah, di sisi klien dan Squid-nya masih akan tetap dianggap valid, atau dg kata lain, informasinya salah/tidak akurat, lha halaman web-nya memang tidak sama dg yg di server. Bagi web desainer, contoh saja lho tanpa ada masuk diskriminasi, he he he ... akan tidak suka krn ada kebutuhan 'instan' setiap kali mengubah atau memperbaiki halaman web di ujung server utk keperluan evaluasi (ya jelas tidak akan mau menunggu 1 hari utk melihat perubahannya, ha ha ha ... benar ya?). Jadi intinya min refresh_pattern adalah keterangan kapan waktu 'tersegera' utk menguji validitas obyek. Jika obyek teruji masih valid, Squid akan mengambil dari lokal cache swap-nya, jika obyek sudah tidak valid ya jelas Squid akan mengambil obyek dari server asal. Sekarang masalahnya, bagaimana jika obyek tidak memiliki 'umur' atau info 'tgl lahir'? (tidak semua web itu memiliki info ini lho, tergantung si web programernya).
Kapan menguji atau mengambil langsung dari server asal obyek 'tak berumur' ini, toh validitasnya tidak bisa diuji? Persentase dan nilai maksimum-lah yg akan menentukan (percentage max). Obyek tanpa umur ini tadi akan dianggap valid oleh Squid selama umur minimumnya 50% dari umur maksimumnya, misalnya. Utk contoh 50% 120 akan berarti obyek tanpa umur valid selama 'umur'nya masih kurang dari 1 jam (50% dari 120 menit). Menurut pengalaman perubahan obyek2 HTTP di internet itu relatif 'lamban', maka kebiasaan gw pribadi demi Squid yg 'agresif' adalah antara 80% s/d 95% dg nilai maksimum hingga 1 bulan (berapa menit ya, sori lupa) dan utk FTP krn semakin jarang berubah bisa lebih lama lagi bisa hingga 3 bulan atau 6 bulan. Tentunya ini tergantung profil pengguna internet anda lho, hanya contoh ekstrim saja. Jadi saat 'umum' maksimum yg sudah didefinisikan di refresh_pattern tercapai, jelas Squid akan 'menjenguk' obyek tsb ke asal servernya. Dg asumsi obyek masih sama maka Squid akan mengambil dari loka cache swap-nya. Jika ternyata obyek sudah berbeda, misalnya dari ukuran file atau saat file obyek tsb berbeda, maka Squid akan mengambil dari server tsb.
Opsi override-lastmod dan reload-into-ims kepanjangannya adalah 'override last modification' dan 'reload into if-modified-since'. Override-lastmod akan meng'override' perubahan yg terjadi di server asal obyek dg mengabaikan validitasnya hingga minimum refresh_pattern-nya tercapai. Efeknya obyek di lokal Squid bisa berbeda dg obyek yg di server asal. Tapi opsi ini masih mengijinkan si user 'memaksa' menguji validitasnya dg menekan tomboh 'reload' atau 'refresh' di web browser. Opsi ini, kalau gw memandangnya 'agak menipu sedikit', he he he ... Sbg contoh di atas, gw yakin obyek di ujung server sudah berubah walaupun terakhir gw akses baru 10 menit yg lalu (min refresh_pattern=120 menit, misalnya), maka dg menekan tombol 'reload' di browser gw akan bisa menguji validitas obyek tsb dg yg di server asal, dan jika ternyata ya benar obyek tsb sudah berubah, jelas Squid akan langsung mengambil obyek lebih baru dari server asal. Jika gw biarkan saja akses ke obyek tsb tanpa menekan tombol 'reload' di browser maka mekanisme uji validitas mempergunakan min refresh_pattern akan berlaku biasa.
Opsi reload-into-ims akan mengubah atau memodifikasi 'umur' obyek sehingga seakan-akan 'dilahirkan' kembali atau 'direset'. Misalnya gw pernah mengakses suatu obyek suatu obyek 1,5 jam yg lalu, dan gw akses lagi obyek yg sama sekarang, maka 'umur' obyek yg sama ini akan dianggap 'fresh' atau obyek baru dan sudah tidak berumur 1,5 jam yg lalu. Keuntungan opsi ini adalah mekanisme 'penyegaran' umur obyek populer sehingga tidak pernah mjd 'tua' hingga nilai percentage dan maksimumnya tercapai, sekali lagi 'agak menipu', he he he ... Kendali penuh tetap di user utk menekan tombol 'reload' atau 'refresh' jika tidak yakin obyek 'fresh'.
Lanjutan
Oleh : Rh354
Di kutip dari : http://ubuntu-indonesia.com/forums/ubbthreads.php/topics/45079/all/Jika_Cache_Dir_Squid_Hampir_Pe
Baik skrg masuk peran Squid yg pada dasarnya bersifat 'shared' obyek lokal dalam konteks 1 domain. Secara garis besar mekanisme kerjanya mirip dg 'temporary cache' lokal web browser itu tadi cuma bedanya dipakai bersama dg user yg lain. Yg membedakan dalam kaitannya dg refresh_pattern adl Squid tidak tidak akan 'bertanya' validitas obyek jika ternyata 'umur'nya masih dalam durasi refresh_pattern-nya (default minimum Squid 120 menit atau 2 jam, kalau tidak salah). Jadi jika 'umur' obyek sejak di'lahir'kan belum mencapai 2 jam (utk contoh) maka Squid tidak akan mengakses server asal/sumber utk mengambil info 'umur'nya, dg kata lain obyek akan dianggap masih valid selama durasi waktu tadi (2 jam, misalnya), alias penghematan bw dan peningkatan responsivitas akses.
Kerugian jika refresh_pattern minimum (min) terlalu lama, misalnya kita set 1 hari, jelas jika ternyata dalam waktu kurang dari 1 hari obyek di ujung server asal berubah, di sisi klien dan Squid-nya masih akan tetap dianggap valid, atau dg kata lain, informasinya salah/tidak akurat, lha halaman web-nya memang tidak sama dg yg di server. Bagi web desainer, contoh saja lho tanpa ada masuk diskriminasi, he he he ... akan tidak suka krn ada kebutuhan 'instan' setiap kali mengubah atau memperbaiki halaman web di ujung server utk keperluan evaluasi (ya jelas tidak akan mau menunggu 1 hari utk melihat perubahannya, ha ha ha ... benar ya?). Jadi intinya min refresh_pattern adalah keterangan kapan waktu 'tersegera' utk menguji validitas obyek. Jika obyek teruji masih valid, Squid akan mengambil dari lokal cache swap-nya, jika obyek sudah tidak valid ya jelas Squid akan mengambil obyek dari server asal. Sekarang masalahnya, bagaimana jika obyek tidak memiliki 'umur' atau info 'tgl lahir'? (tidak semua web itu memiliki info ini lho, tergantung si web programernya).
Kapan menguji atau mengambil langsung dari server asal obyek 'tak berumur' ini, toh validitasnya tidak bisa diuji? Persentase dan nilai maksimum-lah yg akan menentukan (percentage max). Obyek tanpa umur ini tadi akan dianggap valid oleh Squid selama umur minimumnya 50% dari umur maksimumnya, misalnya. Utk contoh 50% 120 akan berarti obyek tanpa umur valid selama 'umur'nya masih kurang dari 1 jam (50% dari 120 menit). Menurut pengalaman perubahan obyek2 HTTP di internet itu relatif 'lamban', maka kebiasaan gw pribadi demi Squid yg 'agresif' adalah antara 80% s/d 95% dg nilai maksimum hingga 1 bulan (berapa menit ya, sori lupa) dan utk FTP krn semakin jarang berubah bisa lebih lama lagi bisa hingga 3 bulan atau 6 bulan. Tentunya ini tergantung profil pengguna internet anda lho, hanya contoh ekstrim saja. Jadi saat 'umum' maksimum yg sudah didefinisikan di refresh_pattern tercapai, jelas Squid akan 'menjenguk' obyek tsb ke asal servernya. Dg asumsi obyek masih sama maka Squid akan mengambil dari loka cache swap-nya. Jika ternyata obyek sudah berbeda, misalnya dari ukuran file atau saat file obyek tsb berbeda, maka Squid akan mengambil dari server tsb.
Opsi override-lastmod dan reload-into-ims kepanjangannya adalah 'override last modification' dan 'reload into if-modified-since'. Override-lastmod akan meng'override' perubahan yg terjadi di server asal obyek dg mengabaikan validitasnya hingga minimum refresh_pattern-nya tercapai. Efeknya obyek di lokal Squid bisa berbeda dg obyek yg di server asal. Tapi opsi ini masih mengijinkan si user 'memaksa' menguji validitasnya dg menekan tomboh 'reload' atau 'refresh' di web browser. Opsi ini, kalau gw memandangnya 'agak menipu sedikit', he he he ... Sbg contoh di atas, gw yakin obyek di ujung server sudah berubah walaupun terakhir gw akses baru 10 menit yg lalu (min refresh_pattern=120 menit, misalnya), maka dg menekan tombol 'reload' di browser gw akan bisa menguji validitas obyek tsb dg yg di server asal, dan jika ternyata ya benar obyek tsb sudah berubah, jelas Squid akan langsung mengambil obyek lebih baru dari server asal. Jika gw biarkan saja akses ke obyek tsb tanpa menekan tombol 'reload' di browser maka mekanisme uji validitas mempergunakan min refresh_pattern akan berlaku biasa.
Opsi reload-into-ims akan mengubah atau memodifikasi 'umur' obyek sehingga seakan-akan 'dilahirkan' kembali atau 'direset'. Misalnya gw pernah mengakses suatu obyek suatu obyek 1,5 jam yg lalu, dan gw akses lagi obyek yg sama sekarang, maka 'umur' obyek yg sama ini akan dianggap 'fresh' atau obyek baru dan sudah tidak berumur 1,5 jam yg lalu. Keuntungan opsi ini adalah mekanisme 'penyegaran' umur obyek populer sehingga tidak pernah mjd 'tua' hingga nilai percentage dan maksimumnya tercapai, sekali lagi 'agak menipu', he he he ... Kendali penuh tetap di user utk menekan tombol 'reload' atau 'refresh' jika tidak yakin obyek 'fresh'.
Lanjutan
Oleh : Rh354
Di kutip dari : http://ubuntu-indonesia.com/forums/ubbthreads.php/topics/45079/all/Jika_Cache_Dir_Squid_Hampir_Pe
Labels:
Squid
Langganan:
Postingan (Atom)