Monday, March 02, 2015

Perbandingan Performance Squid 3 dan Squid 2

Masih seputar squid. Beberapa waktu yang lalu, saya terpaksa ngoprek linux lagi,.. setelah berbulan-bulan istirahat… Ini dikarenakan ada temen yang minta dibuatkan server proxy squid untuk di warnetnya… Tentu saja dia akan bayar… Saya berikan 1 syarat lagi, komputer untuk server proxynya dia beli juga dari saya (maksa, hahaha..) Akhirnya deal juga, lumayanlah tambahan duit :)
Squid cache logo

Idealnya, dengan adanya proxy squid di dalam network,
  • Situs http dan https, bisa dicache.
  • Youtube dan video lainnya bisa dicache.
  • Dan yang paling penting adalah user bisa browsing dengan cepat dan persentase hit squid bagus.


Itu idealnya. Tapi tidak ada yang ideal, tidak ada yang sempurna. Sudah kita ketahui bersama, youtube sudah tidak bisa dicache lagi, dikarenakan youtube beralih menggunakan port 443/https. Akibatnya, saya jadi kesulitan memilih squid mana yang terbaik untuk dijadikan server proxy. Lebih dari dua puluh  kali saya install OS dan squid serta berbagai kombinasi konfigurasi untuk mencari yang terbaik…
1.   Konfigurasi squid 3 support caching https (facebook, youtube, dsb.)
Rencana awal melakukan konfigurasi squid adalah agar bisa mencache semua situs, baik itu port 80/http maupun yang port 443/https. Berbagai konfigurasi penginstallan yang sudah pernah dicoba, antara lain :
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.4.12 + Konfigurasi support https
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.4.11 + Konfigurasi support https
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.3.13 + Konfigurasi support https
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.3.8 + Konfigurasi support https
  • OS Ubuntu 14.10 + Squid 3.4.12 + Konfigurasi support https
  • OS Ubuntu 14.10 + Squid 3.3.13 + Konfigurasi support https
  • OS Ubuntu 14.10 + Squid 3.3.8 + Konfigurasi support https
  • Centos 7.0.1406 + Squid 3. 4.12 + Konfigurasi support https
  • Centos 7.0.1406 + Squid 3. 3.13 + Konfigurasi support https
  • Centos 7.0.1406 + Squid 3.5.1 + Konfigurasi support https
Begitu banyak percobaan konfigurasi. Segala kemungkinan hal terkecil pun dicoba. Dan berikut ini hasilnya :
  • Https berhasil dicaching…
  • Tapi hit (tcp_hit) untuk situs http maupun https jarang sekali, kebanyakan miss (tcp_miss).
  • Browsingnya juga, lambat… ( Kemungkinan DNS-nya. Di squid.conf, baris dns_nameservers gunakan DNS local).
  • Mengakses https kadang error, dikarenakan sertifikat di browser hilang atau tidak berfungsi. Dan sertifikatnya harus dimasukkan lagi agar bisa normal… (Bisa jadi ini karena kesalahan saya saat konfigurasi si squid atau memang terjadi setelah server proxy restart, saya ndak ngerti).

2.   Konfigurasi Squid 3 tanpa caching https.
Dikarenakan rencana pertama tidak berhasil, maka saya pikir, ya sudahlah… tidak perlu caching port 443/https. Squid mungkin masih belum sempurna untuk caching https. Konfigurasi squid 3 diubah saja menjadi konfigurasi biasa, tanpa caching https.
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.4.12
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.4.11
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.3.13
  • OS Ubuntu Server 14.04.2 LTS + Squid 3.3.8
  • OS Ubuntu 14.10 + Squid 3.4.12
  • OS Ubuntu 14.10 + Squid 3.3.13
  • OS Ubuntu 14.10 + Squid 3.3.8
  • Centos 7.0.1406 + Squid 3. 4.12
  • Centos 7.0.1406 + Squid 3. 3.13
  • Centos 7.0.1406 + Squid 3.5.1
Hasil :
  • Hit (tcp_hit) squid untuk situs http lumayan baik
  • Namun sayangnya, browsing masih lambat. (Di bagian squid.conf, baris dns_nameservers gunakan DNS local).

3.   Konfigurasi Squid 2.7 stable 9 dan squid Head lusca.
Masih belum puas dengan performa squid di atas, akhirnya kembali install squid lama.
OS Ubuntu 14.04.2 LTS + Squid 2.7 stable 9. Cara konfigurasinya seperti pada posting sebelumnya.
Pada saat yang bersamaan, diinstall juga squid head lusca di Centos 7.0.1406 .
Hasilnya. :
  • Hit (tcp_hit) squid ke situs http, sangat baik.
  • Browsing menjadi lebih cepat. (Tentu saja karena tcp_hit squid bagus, dengan kata lain data sudah tercache).
Sebagai bukti, berikut hasil cachemgr info.
# squidclient -h localhost -p 3127 mgr:info
HTTP/1.0 200 OK
Server: squid/2.7.STABLE9
Date: Sun, 15 Feb 2015 14:14:42 GMT
Content-Type: text/plain
Expires: Sun, 15 Feb 2015 14:14:42 GMT
X-Cache: MISS from Server01
X-Cache-Lookup: MISS from Server01:3127
Connection: close

Squid Object Cache: Version 2.7.STABLE9
Start Time:     Sat, 14 Feb 2015 23:47:38 GMT
Current Time:   Sun, 15 Feb 2015 14:14:42 GMT
Connection information for squid:
        Number of clients accessing cache:      20
        Number of HTTP requests received:       128083
        Number of ICP messages received:        0
        Number of ICP messages sent:    0
        Number of queued ICP replies:   0
        Request failure ratio:   0.00
        Average HTTP requests per minute since start:   147.7
        Average ICP messages per minute since start:    0.0
        Select loop called: 5529388 times, 9.409 ms avg
Cache information for squid:
        Request Hit Ratios:     5min: 57.2%, 60min: 48.4%
        Byte Hit Ratios:        5min: 65.3%, 60min: 46.8%
        Request Memory Hit Ratios:      5min: 1.9%, 60min: 3.7%
        Request Disk Hit Ratios:        5min: 85.7%, 60min: 73.8%
        Storage Swap size:      44338904 KB
        Storage Mem size:       70572 KB
        Mean Object Size:       57.02 KB
        Requests given to unlinkd:      0
Median Service Times (seconds)  5 min    60 min:
        HTTP Requests (All):   0.04519  0.11465
        Cache Misses:          0.33943  0.42149
        Cache Hits:            0.01235  0.01387
        Near Hits:             0.14252  0.18699
        Not-Modified Replies:  0.00562  0.00562
        DNS Lookups:           0.01686  0.02941
        ICP Queries:           0.00000  0.00000
Resource usage for squid:
        UP Time:        52023.870 seconds
        CPU Time:       4335.045 seconds
        CPU Usage:      8.33%
        CPU Usage, 5 minute avg:        8.29%
        CPU Usage, 60 minute avg:       18.07%
        Process Data Segment Size via sbrk(): 230408 KB
        Maximum Resident Size: 954880 KB
        Page faults with physical i/o: 1
Memory usage for squid via mallinfo():
        Total space in arena:  230408 KB
        Ordinary blocks:       230039 KB    136 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:         28940 KB      3 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:     368 KB
        Total in use:          258979 KB 100%
        Total free:               368 KB 0%
        Total size:            259348 KB
Memory accounted for:
        Total accounted:       188271 KB
        memPoolAlloc calls: 28307818
        memPoolFree calls: 25605048
File descriptor usage for squid:
        Maximum number of file descriptors:   65536
        Largest file desc currently in use:    441
        Number of file desc currently in use:  238
        Files queued for open:                   0
        Available number of file descriptors: 65298
        Reserved number of file descriptors:   100
        Store Disk files open:                   0
        IO loop method:                     epoll
Internal Data Structures:
        778234 StoreEntries
         14632 StoreEntries with MemObjects
         14600 Hot Object Cache Items
        777643 on-disk objects

Lihat,.. mantapz sekali bukan ?? Dan di bawah ini, gambar statistics Hit Proxy.
Hit Proxy

Kesimpulannya.
Squid 2 masih tetap yang terbaik. Ya, walaupun tidak bisa lagi mencache youtube dan situs https, tapi yang terpenting adalah Hit squid ke situs http, tetap baik dan browsing tetap cepat.

Jika anda punya pengalaman dan saran, silahkan berkomentar…

16 comments:

  1. Lha ini yang ditunggu... semangat lagi untuk bisa cache youtube...

    ReplyDelete
    Replies
    1. Pak coba oprek spt yg di https://www.youtube.com/watch?v=k1_z108v1t4 jika sukses posting di sini, sy tunggu...

      Delete
  2. Coba liat baik2 video itu... memang dia bisa cache https... tapi hampir semuanya tcp_miss.. untuk apa proxy, untuk apa cache situs, kalo hanya bisa tcp_miss...artinya itu kan sia-sia saja... cuma menuh-menuhin hardisk (cache)...

    ReplyDelete
  3. Dear Bang Roel, salam kenal
    Coba deh tiru gayanya Diladele http://diladele.com
    Saya sukses install, tapi gak perhatikan masalah HITS nya
    Tapi masih gagal di transparent http & https lewat mikrotik

    ReplyDelete
    Replies
    1. Thanks for the link...
      Setelah sya cek, si Diladele hanya membantu untuk certificate ssl saja,
      bagus juga, supaya tidak ribet masukkan certificate ssl CMIIW...
      tapi tidak meningkatkan performa hit squid...
      kalo mau, dibuat 2 buah squid...squid pertama pake squid head lusca (2.7 stable 9), port 80 diarahkan kesini,
      kemudian squid 2, pake squid versi baru (+diladele), port 443 diarahkan kesini...
      belum sempat dicoba sih,... masih belum ada waktu luang... :)

      Delete
    2. Kalau dengan yang ini bang
      Spesial VideoCacheBox - Berbayar namun ada Trial 30hari
      Mungkin bisa dipelajari untuk di tiru tehnik Cache Video nya
      http://www.unveiltech.com/indexvideocacheboxi386-us.php
      Katanya supports Cache 700+ media websites

      Delete
    3. langsung ane ke TKP gan... thx...

      Delete
    4. Bgmana bang Roel
      Apa sudah bisa tiru tehnik Cache Video nya dari Unveil Tech VideoCacheBox?

      Delete
    5. dari hasil percobaan, beberapa pendapat sementara...
      1. bagus. si videocachebox, berhasil mencache youtube... selamat...
      caranya dengan merubah https diredirect ke http,.. cara merubah ini yang belum saya ketahui...
      2. https cache, belum berhasil, mungkin sya yg tidak tau caranya.
      3. butuh memory yang besar... berat dan rakus si videocachebox ini.
      4. trial 30 hari... perlu diakali bagaimana caranya supaya bisa free terus selamanya... hahaha...
      5. laporan selesai...

      Delete
    6. merubah https ke http coba ini bro : acl google url_regex -i ^http.*(youtube|google).*
      request_header_access User-Agent deny google
      request_header_replace User-Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

      Delete
  4. apa msh tdk bisa squid 2.7 stable 9 untuk cache youtube apa ada patch baru?

    ReplyDelete
  5. saya pakai pfsense versi 2.2 release, browsing lebih lancar dan sangat responsif dibanding os lain yg pernah saya coba, atau memang saya kurang beruntung dengan os lain :) menggunakan squid versi 3.4.10 bawaan pakage-nya, dan disandingkan dengan mikrotik. https dan http tercache baik, mantap bro os-nya. tapi kalau mau yg mudah instalannya saya sarankan pakai saja os ipfire. cachenya juga mantap bisa https dan http disikat habis semuanya tapi selama yg sudah saya coba ini masih kurang responsif dibandingkan pfsene, kalau mau coba bisa gabung dulu dengan komunitasnya di facebook, bisa tanya2 di situ adminnya juga sangat ramah dan siap membantu :) demikian bro saran saya, soalnya sekarang ini penggunaan https sudah sangat mendominasi, yg tercatat di mikrotik saya saja hampir 75% penggunaan https dibanding http. belum lagi dengan banyaknya game2 di facebook yg kalau tidak tercache wah jalannya kayak keong kalau pas dibuka :)

    ReplyDelete
    Replies
    1. untuk setting cache gimana ? kalau boleh dishare

      Delete
  6. Kenapa gak instal kledua-duanya aja mas...?
    http = squid 2.7/lusca
    https= Squid3

    ReplyDelete