none
(Sumber: milist DOTNET) Efektifitas Web Cache RRS feed

  • Pertanyaan

  • Rekan semua,

    Seperti yang kita ketahui bahwa perkembangan website sekarang ini sangatlah cepat dari yang dahulu statis menjadi begitu dinamis. Saya minta masukan dan pendapat teman teman atau mungkin memiliki artikel mengenai seberapa efektif kah web cache proxy dengan konten website sekarang yang begitu dinamis. 

    Terimakasih


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.46
    Moderator

Jawaban

  • Masih tebak-tebak saja, "web cache proxy" yang di maksud apa.

    Web cache sendiri cukup luas (System, Http (Cache control), Application Framework (ASPNet) dan user-agent(browser, http client, dll), 

    Pernah ada yang tanya gimana meningkatkan performa dengan cache? jawab-nya pasti tanya balik "cache dimana? :D makanya mesti jelas dulu cache dimana?

    apakah di level aplikasi (di aspnet sendiri banyak model :P control cache, page cache, cache data, dll)?

    apakah di level user-agent seperti browser js, css (ada juga web yang pakai dynamic js atau css khan) dan kalau kita lihat contoh yang agresif di user-agent ini di browser chrome (berasa sekali "kecepatan" browsing). 

    apakah di level system-nya (architecture, cache server (search google pasti pakai ini -- tidak mungkin setiap request search meng-query web archive-nya), dll)?

    kalau melihat dari kata-kata proxy-nya (harus-nya bukan pengertian SOCKS proxy) lebih ke system.

    Salah satunya cache di IIS;  IIS Caching (Output Caching) ada user mode atau kernel mode.

    Atau forward cache atau web proxy (yang di setting untuk evalute HTTP Header) atau reverse cache atau Content Delivery Network (CDN) atau web farm cache atau lainnya.

    Kalau di bilang efektif, tentu saja efektif sekali. 

    web cache sendiri di maksudkan untuk http scalability, baik yang static maupun dynamic.

    web-web besar pastinya menggunakan ini, lihat saja implentasi architecture google, twitter, fb, amazon, akamai dll-nya; kalau tidak sudah overload terus.

    Salah satu contoh-nya yaitu menggunakan ETag.

    Teknik cache ini di kenal dengan nama Conditional Get (HTTP 304 -- kombinasi HTTP Header + HTTP Cache control + HTTP client request header) dengan ETag dari server (di http header) dan User-Agent menggunakan If-None-Match header Atau cara lainnya kombinasi Last-Modified header (timestamp) server dan User-Agent menggunakan If-Modified-Since header.

    Tapi sekali lagi tergantung meng-implement architect cache model untuk scalability ini, kalau 'tweak'-nya tepat pasti-nya efektif sekali dan kalau tidak bisa-bisa tidak meng-scale malah cuma buang-buang resorces.

    Dijawab oleh: Dede


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.48
    Moderator
  • Tampaknya kasus anda lebih ke IT Pro side, karena tidak ada control user-agent atau web server-nya. 

    Jadi kita lepas dulu kepala developer dengan IT Pro dahulu :)

    Dari keterangan anda, tampaknya anda belum memiliki management traffic dalam network-nya. 

    memang tidak di sebutkan ketidak happy-an browsing experience, walau tampaknya itu yang terjadi.

    1. Ada baiknya anda meng-profile dan analisa jaringan-nya dahulu.

    Maksud-nya anda mengumpulkan data dan bukti apa yang terjadi dalam network itu seperti berapa network yang ter-utilize dan apa yang membuat jaringan belum optimize. 

    Bisa saja ada un-authorize program yang aktif dalam jaringan tersebut. berapa aktifitas web-nya? voip? ftp? stream?

    Jadi bisa saja web tidak optimize karena ada hal lain yang membuat network saturated.

    Jadi anda perlu tool untuk memonitoring dan meng-analisa.

    2. setelah informasi terkumpul dari situ kita bisa lihat, option-option apa saja yang bisa di lakukan. 

    seperti apakah ada user-user yang membuat network tidak optimize?

    kadang ada user yang melakukan broadcast scan dan melakukan aktifitas lainnya yang membuat lokal dan internet jadi colition -- user-nya sendiri kadang tidak menyadari-nya (e.g. virus, bot, dll).

    3. kebanyakan dalam public network seperti kasus hotel, kita lebih disarankan menggunakan proxy. Proxy intranet dan web proxy agak berbeda.

    Proxy sendiri bisa membantu meng-optimize kan resource network dan proxy sendiri banyak macam-nya. dari web, dns, fungsi-nya.

    Sembari meng-profile network anda, karena sudah di sebutkan sudah memiliki web proxy tapi memiliki kendala beberapa web site tidak bisa login, coba baca RFC3145 ,

    Dan coba dig lebih dalam setting atau hack yang bisa di lakukan oleh proxy yang sudah di miliki ( setiap product punya cara-nya masing-masing :P -- jadi contact vendor-nya. )

    Karena sudah memilik proxy, kenapa anda perlu investasi web proxy lagi? kecuali anda sudah tahu apa yang perlu di perbaiki dari hasil profiling. 

    4. Untuk bandwidth, sebetulnya ada alternatif-alternatif untuk ini dari teknik dan system yang esotic sampai yang hardcode. Tapi memang infrastructure biaya setup-up-nya tidak murah. :)

    Oleh karena itu kita perlu data pendukung (dari step 1), jikalau kita mesti merubah infrastructure.

    salah satu alternatif-nya anda bisa mengambil internet dengan perbandingan up dan down yang berbeda, kebanyakkan yang mahal itu up-stream-nya. 

    Jadi anda bisa minta up-nya 1m dan down-nya 4m, karena kebanyakkan kasus yang ada down-nya kurang terus. :D . 

    bagaimana mendapatkan seperti itu? salah satu-nya tentu bicara dengan isp local atau menggunakan DVB (satelite) -- biasanya provider-nya dari HK.

    5. Tapi kita juga mesti juga mesti punya role yang mesti di force dalam network anda. oleh karena itu management traffic di perlukan, apalagi dalam kasus hotel.

    contoh-nya, ketika menginap di Ascott (seberang KL CC), pasang wireless gateway dan browse ramai-ramai (yang bikin parah ada yang torrent :( ). lucu-nya pass di lobby ada yang user complain network lambat :|

    Memang bandwidth disana tidak semahal di indonesia, fiber dimana-mana dan lagi singapore sudah jadi hub internet ( fiber SG ke KL pastinya sudah di buat besar oleh telko-telko disana )

    torrent tidak menyentuh web proxy (tapi mempengaruhi jaringan) dan firewall kadang bisa di trik. 

    salah satu caranya mengatasi seperti ini adalah menerapkan trafic role dengan bantuan Layer7 (sub-set Netfilter) -- ia melihat filter raw socket, mengunci traffic sesuai priority.

    Pada waktu itu mesti patch kernel linux sendiri untuk meng-aktifkan fitur ini (kalau kernel baru sekarang sudah build-in), 

    kurang tahu product-product (trafic management) sekarang yang menerapkan L7 -- jadi sekali lagi contact vendor-nya.

    Jadi 'todo' dalam kasus anda masih banyak juga -- bukan sekadar web proxy saja :)

    selamat berjuang :D

    Dijawab oleh: Dede


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.50
    Moderator

Semua Balasan

  • Asalkan website nya dikonfigurasi dengan benar, tetap efektif. Ada banyak hal yang sifatnya statis, seperti :
    * Logo / elemen grafis
    * CSS master
    * Banyak Javascript yang client-side relatif stabil

    Asalkan elemen2 statis di-refer secara statis pula (misalnya, URL nya tidak mengandung '?'), maka cache tetap membantu.

    Dijawab oleh: Pandu Poluan


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.46
    Moderator
  • Masih tebak-tebak saja, "web cache proxy" yang di maksud apa.

    Web cache sendiri cukup luas (System, Http (Cache control), Application Framework (ASPNet) dan user-agent(browser, http client, dll), 

    Pernah ada yang tanya gimana meningkatkan performa dengan cache? jawab-nya pasti tanya balik "cache dimana? :D makanya mesti jelas dulu cache dimana?

    apakah di level aplikasi (di aspnet sendiri banyak model :P control cache, page cache, cache data, dll)?

    apakah di level user-agent seperti browser js, css (ada juga web yang pakai dynamic js atau css khan) dan kalau kita lihat contoh yang agresif di user-agent ini di browser chrome (berasa sekali "kecepatan" browsing). 

    apakah di level system-nya (architecture, cache server (search google pasti pakai ini -- tidak mungkin setiap request search meng-query web archive-nya), dll)?

    kalau melihat dari kata-kata proxy-nya (harus-nya bukan pengertian SOCKS proxy) lebih ke system.

    Salah satunya cache di IIS;  IIS Caching (Output Caching) ada user mode atau kernel mode.

    Atau forward cache atau web proxy (yang di setting untuk evalute HTTP Header) atau reverse cache atau Content Delivery Network (CDN) atau web farm cache atau lainnya.

    Kalau di bilang efektif, tentu saja efektif sekali. 

    web cache sendiri di maksudkan untuk http scalability, baik yang static maupun dynamic.

    web-web besar pastinya menggunakan ini, lihat saja implentasi architecture google, twitter, fb, amazon, akamai dll-nya; kalau tidak sudah overload terus.

    Salah satu contoh-nya yaitu menggunakan ETag.

    Teknik cache ini di kenal dengan nama Conditional Get (HTTP 304 -- kombinasi HTTP Header + HTTP Cache control + HTTP client request header) dengan ETag dari server (di http header) dan User-Agent menggunakan If-None-Match header Atau cara lainnya kombinasi Last-Modified header (timestamp) server dan User-Agent menggunakan If-Modified-Since header.

    Tapi sekali lagi tergantung meng-implement architect cache model untuk scalability ini, kalau 'tweak'-nya tepat pasti-nya efektif sekali dan kalau tidak bisa-bisa tidak meng-scale malah cuma buang-buang resorces.

    Dijawab oleh: Dede


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.48
    Moderator
  • Terimakasih masukan dan diskusi dari rekan semua. Saya coba memberikan batasan pembahasan agar tidak ke arah yang salah dari pertanyaan saya. 

    Jadi yang saya ingin tanyakan cache dari sisi client, bukan dari cache dari sisi server. Cache disini adalah cache web proxy dari client karena untuk saat ini negara kita bandwidth tinggi masih mahal.

    Kasusnya adalah ada hotel dengan sekitar 100 client yang terkoneksi Internet dan memiliki web proxy untuk cache dengan kapasitas 1T. Ketika memakai web proxy untuk cache, ada beberapa website yang bermasalah ketika dibuka sebagai contoh tiba tiba user sign out sendiri dan tidak bisa login, website gagal diload, perubahan konten website yang tidak up to date. Hal ini memang ada kemungkinan bug didalam web proxy itu sendiri sehingga muncul masalah masalah tersebut dan bisa juga dari sisi pengembang websitenya ada kekurangan dalam manajemen session sehingga membuat user sign out sendiri.

    Sebelum berinvestasi membangun web proxy untuk cache maka saya ingin membandingkan seberapa besar keuntungan bandwidth yang bisa di hemat dengan masalah masalah yang muncul. 

    Untuk facebook, dari 100 user kemungkinan foto yang sama pun saya kira masih kecil. Berarti bandwidth yang bisa dihemat juga kecil karena begitu dinamisnya website facebook. 

    Dan dari sisi browser, juga sudah memiliki cache sendiri juga mungkin dipakai untuk cache logo facebook yang selalu sama.

    Jadi masih banyak kah keuntungan untuk investasi ke web proxy untuk cache saat ini? Ataukah lebih baik upgrade bandwdith?


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.49
    Moderator
  • Tampaknya kasus anda lebih ke IT Pro side, karena tidak ada control user-agent atau web server-nya. 

    Jadi kita lepas dulu kepala developer dengan IT Pro dahulu :)

    Dari keterangan anda, tampaknya anda belum memiliki management traffic dalam network-nya. 

    memang tidak di sebutkan ketidak happy-an browsing experience, walau tampaknya itu yang terjadi.

    1. Ada baiknya anda meng-profile dan analisa jaringan-nya dahulu.

    Maksud-nya anda mengumpulkan data dan bukti apa yang terjadi dalam network itu seperti berapa network yang ter-utilize dan apa yang membuat jaringan belum optimize. 

    Bisa saja ada un-authorize program yang aktif dalam jaringan tersebut. berapa aktifitas web-nya? voip? ftp? stream?

    Jadi bisa saja web tidak optimize karena ada hal lain yang membuat network saturated.

    Jadi anda perlu tool untuk memonitoring dan meng-analisa.

    2. setelah informasi terkumpul dari situ kita bisa lihat, option-option apa saja yang bisa di lakukan. 

    seperti apakah ada user-user yang membuat network tidak optimize?

    kadang ada user yang melakukan broadcast scan dan melakukan aktifitas lainnya yang membuat lokal dan internet jadi colition -- user-nya sendiri kadang tidak menyadari-nya (e.g. virus, bot, dll).

    3. kebanyakan dalam public network seperti kasus hotel, kita lebih disarankan menggunakan proxy. Proxy intranet dan web proxy agak berbeda.

    Proxy sendiri bisa membantu meng-optimize kan resource network dan proxy sendiri banyak macam-nya. dari web, dns, fungsi-nya.

    Sembari meng-profile network anda, karena sudah di sebutkan sudah memiliki web proxy tapi memiliki kendala beberapa web site tidak bisa login, coba baca RFC3145 ,

    Dan coba dig lebih dalam setting atau hack yang bisa di lakukan oleh proxy yang sudah di miliki ( setiap product punya cara-nya masing-masing :P -- jadi contact vendor-nya. )

    Karena sudah memilik proxy, kenapa anda perlu investasi web proxy lagi? kecuali anda sudah tahu apa yang perlu di perbaiki dari hasil profiling. 

    4. Untuk bandwidth, sebetulnya ada alternatif-alternatif untuk ini dari teknik dan system yang esotic sampai yang hardcode. Tapi memang infrastructure biaya setup-up-nya tidak murah. :)

    Oleh karena itu kita perlu data pendukung (dari step 1), jikalau kita mesti merubah infrastructure.

    salah satu alternatif-nya anda bisa mengambil internet dengan perbandingan up dan down yang berbeda, kebanyakkan yang mahal itu up-stream-nya. 

    Jadi anda bisa minta up-nya 1m dan down-nya 4m, karena kebanyakkan kasus yang ada down-nya kurang terus. :D . 

    bagaimana mendapatkan seperti itu? salah satu-nya tentu bicara dengan isp local atau menggunakan DVB (satelite) -- biasanya provider-nya dari HK.

    5. Tapi kita juga mesti juga mesti punya role yang mesti di force dalam network anda. oleh karena itu management traffic di perlukan, apalagi dalam kasus hotel.

    contoh-nya, ketika menginap di Ascott (seberang KL CC), pasang wireless gateway dan browse ramai-ramai (yang bikin parah ada yang torrent :( ). lucu-nya pass di lobby ada yang user complain network lambat :|

    Memang bandwidth disana tidak semahal di indonesia, fiber dimana-mana dan lagi singapore sudah jadi hub internet ( fiber SG ke KL pastinya sudah di buat besar oleh telko-telko disana )

    torrent tidak menyentuh web proxy (tapi mempengaruhi jaringan) dan firewall kadang bisa di trik. 

    salah satu caranya mengatasi seperti ini adalah menerapkan trafic role dengan bantuan Layer7 (sub-set Netfilter) -- ia melihat filter raw socket, mengunci traffic sesuai priority.

    Pada waktu itu mesti patch kernel linux sendiri untuk meng-aktifkan fitur ini (kalau kernel baru sekarang sudah build-in), 

    kurang tahu product-product (trafic management) sekarang yang menerapkan L7 -- jadi sekali lagi contact vendor-nya.

    Jadi 'todo' dalam kasus anda masih banyak juga -- bukan sekadar web proxy saja :)

    selamat berjuang :D

    Dijawab oleh: Dede


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.50
    Moderator
  • Setuju dengan om Dede. Kalau dilihat kebutuhan OP, sepertinya OP lebih ingin tahu teknik apa untuk meningkatkan kinerja terasa (apparent performance) dari sebuah jaringan konsumsi publik, bukan jaringan korporat.

    Jika demikian adanya, menurut saya tidak perlu terlalu banyak melakukan analisa. Gunakan kombinasi proxy (transparent proxy) dengan cache size yang raksasa (4 GB ke atas) dan Layer 7 Traffic Management untuk 'mencekik' jenis trafik yang makan bandwidth besar (torrent, streaming video, dll).

    Pengalaman saya untuk Traffic Management, paling gampang pakai Fortigate ; dia sudah ada macam2 pola trafik Layer 7, dan di-update secara teratur oleh pembuatnya. Jadi kita nggak pusing dengan update trafik baru.

    Dijawab oleh: Pandu Poluan


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 23 Mei 2012 08.51
    Moderator