Seputar Proxy Cache / Refresh_Pattern Tweaks

Posted: Oktober 1, 2011 in Networking

by Ade ‘surya’ Andrial &  Syawal All

Barangkali ada rekan2 yang masih bingung bagaimana membuat proxy server yang responsif sesuai keperluan. berikut rangkuman hasil eksperimen kami dari berbagai sumber :

1. Install dns cache pada mesin server yang di install proxy, dan jadikan primary dns server baik untuk client dan proxy. Hal ini meniminimalkan respon time query dns ke luar.

2. Gunakan dns ISP sebagai dns forwarder , karena hanya dns isp yang mempunyai hope paling pendek dan meminimilakn respon time query dns

3. perbesar ukuran fqdncache Anda dan ipcache. Lebih besar lebih baik. Set positive_dns_ttl minimal 1 jam dan negative_dns_ttl paling maximal 1 menit

4. Hambatan terbesar cache adalah disk I/O, jadi seimbangkan ukuran max_cache_size dengan rpm hardisk dan jumlah memory ram.

5. Split cache_sir kebeberapa drive fisik.

6. JANGAN menempatkan dua drive cache_sir pada kontroler IDE yang sama, tapi Anda bisa menaruh empat berkecepatan tinggi atau enam kecepatan biasa-SCSI drive pada SCSI controller tunggal. Jangan mencampur Ultra-Wide SCSI dengan non-SCSI Ultra-Wide pada kabel yang sama.

7. Pisahkan log pada drive non-cache, dan lebih baik pada kabel yang berbeda atau controller yang berbeda

8. Pastikan drive yang di gunakan mempunyai rpm yang sesuai. Beberapa server memiliki kombinasi yang tidak kompatibel. Sungguh tragis melihat server seharga 30 juta perak dengan Ultra Wide SCSI yang lebih kecil disk I / O throughput dari Pentium 3 dengan IDE drive 5400-rpm. Anda mungkin harus hati2 sebelum membeli.

9. Kesalahan fatal dalam menggunakan rumusan cache_dir adalah menggunakan keseluruhan partisi fisik cache_dir, gunakan maksimal 60% dari partisi fisik cache_dir, misal partisi fisik cache_dir 10Gb, gunakan cache_dir aufs /cache 6000 L1 L2

10. Dengan L2 selalu default 256, maka L1 bisa di cari rumus singkat cache_dir/500, misal cache_dir 10000 maka nilai L1 adalah 20, jadi confignya adalah, cache_dir aufs /cache 10000 20 256

11. Aturan sederhana untuk memori.

Bagilah ukuran cache disk sebesar 13 Kbytes, dan kalikan dengan 130 byte. Tambah ukuran cache_mem, dan tambahkan sekitar 2,5 Mbytes lebih untuk file executable/binary, library, dan overhead lainnya. Sebagai contoh: Kita memiliki drive 10-GByte, dan cache_mem 8 Mbytes.

10 Gbytes/13 Kbytes = 769.230
769.230 x 130 byte = 99.999.900 byte (atau 97.656 Kbytes)
97.656 Kbytes + 2,5 Mbytes + 8 Mbytes = 10.849.656 Kbytes atau sekitar 108 Mbytes
Contoh kebutuhan server 108 Mbytes tersedia untuk Squid untuk mendukung 10 GBytes dari cache_dir.

Hati2 jika swap mulai terpakai, proxy akan buruk ketika mulai swap. Ingat untuk menyisakan memori untuk hal lain pada mesin (DNS, cron, kernel, aplikasi web server, dll,

12. Gunakan coss file system jika req > 200 req/s

13. Tentang refresh_pattern
refresh_pattern menentukan pola lamanya objek. refresh_pattern adalah keterangan kapan waktu ‘tersegarkan’ utk menguji validitas obyek. Jika obyek teruji masih valid, proxy akan mengambil dari lokal cache swap-nya, jika obyek sudah tidak valid ya jelas proxy akan mengambil obyek dari server asal. (tidak semua web itu memiliki info ini , tergantung si web programernya). penggunaan refresh_patern bisa di ikuti regex tertentu, misal url,extension,domain dll.
Hati2 bermain refresh_pattern, alih2 ingin membuat HIT yang besar, namun respon timenya akan lambat hanya gara2 setiap objec harus di parsing oleh regex. makanya tidak heran ketika menggunakan proxy internal mikrotik lebih responsif ketika membuka facebook yang didalmnya tersimpan domain puluhan drpd squid/lusca dengan regex refresh_pattern yang berlebihan, hal ini karena settingan di MT menggunakan default minimal config, jika lusca/proxy digunakan minimal regex maka respon time akan lebih bagus.

Ujicoba terakhir bersama bro siber pada sebuah proxy yang sudah produksi, ketika menggunakan minimal regex refresh_pattern yang bisa meningkatkan respon time tapi mengorbankan bandwith dan mengurangi hit. dan ketika menggunakan regex refresh_pattern untuk url2 tertentu, hit menjadi tinggi tapi respon time menjadi lamban

silahkan test dan bandingkan ketika loading poker

TEST 1
Code:
refresh_pattern .zynga.com.*\.(swf|jpg|gif|png|mp3) 43800 95% 43800 override-expire ignore-reload store-stale refresh_pattern \.(jp(e?g|e|2)|tiff?|bmp|gif|png)($|&) 43800 95% 43800 ignore-no-cache ignore-no-store reload-into-ims override-expire store-stale
TEST 2
Code:
refresh_pattern \.(jp(e?g|e|2)|tiff?|bmp|gif|png)($|&) 0 95% 43800 ignore-no-cache ignore-no-store reload-into-ims override-expire store-stale
dari hasil ujicoba :
Test 1 :
Quote:
Request Hit Ratios: 5min:80.7%, 60min: 79.4%
Byte Hit Ratios: 5min: 12.0%, 60min: 16.7%
Request Memory Hit Ratios: 5min: 21.7%, 60min: 19.1%
Request Disk Hit Ratios: 5min: 95.8%, 60min: 90.0% Respon time > 20 detik loading

Test 2 :
Quote:
Request Hit Ratios: 5min:50.7%, 60min: 49.4%
Byte Hit Ratios: 5min: 12.0%, 60min: 16.7%
Request Memory Hit Ratios: 5min: 12.7%, 60min: 20.1%
Request Disk Hit Ratios: 5min: 50.8%, 60min:38.7% Respon time < 7 detik loading

== HAPPY CACHE ==
sumber:forum mikrotik indonesia😀

Komentar
  1. bella mengatakan:

    pagi pagi udah kenak cerahan matahari
    makasih kakak

  2. ophrack3rz mengatakan:

    iya ne
    saya pun juga kurang paham kalo di networking
    tapi nanti share ajj di forum kita , biar rame.😀

  3. encime mengatakan:

    kalo maksud dr refresh pattern yg ini apa ya pak ?

    43800 95% 43800 override-expire ignore-reload store-stale

    mohon pencerahannya…

    makasih

  4. Sendy mengatakan:

    yang ini maksudnya apa ya om ?

    ignore-no-cache ignore-no-store reload-into-ims override-expire store-stale

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s