Using a Content Delivery Network - ဖိုင်ဝန်ဆောင်မှု ကွန်ရက် (CDN) ကို အသုံးပြုခြင်း

အဓိက အကြောင်းအရာ - Server
ကျွန်တော်တို့၏ web server များနှင့် ၀က်ဘ်ဆိုက်သို့ လာရောက်လည်ပတ်သူများ၏ အနီးအပေး (proximity) သည်လည်း ၀က်ဘ်ဆိုက်များ၏ အမြန်နှုံးအပေါ်တွင် သက်ရောက်မှု ရှိသည်။ ၀က်ဘ်ဆိုက်၏ အချက်အလက်များကို ကမ္ဘာ၏ နေရာဒေသ အနှံ့ ဖြန့်ကျက်ထားသော ဆာဗာများစွာ (multiple, geographically dispersed servers) တို့ဖြင့် ဖြန့်ကျက်ထားရှိပါက ဆိုက်သို့ လာရောက် အသုံးပြုသူများ အနေဖြင့် ၀က်ဘ်ဆိုက်၏ လျင်မြန်မှုကို ကောင်းစွာ ခံစားကြရသည်။ သို့သော် မည်သည့်နေရာမှ စတင်ရမည် ဆိုသည်ကိုတော့ သိထားမှ အဆင်ပြေနိုင်မည်။

ပထမဆုံး အဆင့်အနေဖြင့် - လက်ရှိအလုပ်လုပ်နေသော web application ကို Distributed architecture တွင် အလုပ်လုပ်နိုင်စေရန် အတွက် ဒီဇိုင်း ပြန်ဆွဲရန် မစဉ်းစားပါနှင့်။ Application အပေါ်မူတည်ပြီး ဖွဲ့စည်းတည်ဆောက်ပုံကို လိုက်လံပြောင်းလဲ ရသည့် အလုပ်မှာ - Session state synchronizing ၊ ဆာဗာများစွာ၏ တည်နေရာများအပေါ်မူတည်ကာ Database transaction replicating ပြုလုပ်ရခြင်း စသည့် အလုပ်ပိုများ ထွက်ပေါ်လာမည် ဖြစ်သည်။ ထိုအခါ အဓိက လိုရင်းဖြစ်သော ၀က်ဘ်ဆိုက်သို့ လာရောက် အသုံးပြုသူများနှင့် ၀က်ဘ်ဆိုက်၏ အချက်အလက်များကြားရှိ အကွားအေ၀း ကန့်သတ်ချက်ကို လျော့ချရန်ဆိုသည့် အချက်သို့ ရောက်မလာတော့ဘဲ သို့မဟုတ် ထိုအဆင့်သို့ပင် ရောက်မလာနိုင်တော့ဘဲ - ယခု ပြောခဲ့သည့် အဆင့်မှာပင် အချိန်ကြာမြင့်သွားနိုင်သည်။

အင်တာနက် အသုံးပြုသူများ၏ အချိန်အတော်များများ 80-90% ကျော်သည် အင်တာနက် စာမျက်နှာများ၏ - ပုံများ၊ Stylesheet များ၊ Script များနှင့် Flash ဖိုင်များ စသည်တို့ကို - ဒေါင်းလုတ် ရယူနေခြင်းဖြင့် ကုန်ဆုံးနေသည်ကို သိခဲ့ကြပြီး ဖြစ်သည်။ ဤအချက်သည်ပင် - စွမ်းဆောင်ရည်မြင့်မားရေး အတွက် ရွှေစည်းမျဉ်း (Performance Golden Rule) - ဖြစ်သည်။ ကျွန်တော်တို့၏ web application တည်ဆောက်ပုံကို ခက်ခက်ခဲခဲ ဒီဇိုင်း ပြန်လုပ်ခြင်းထက်၊ အပြောင်းအလဲ လုပ်ဖို့ မလိုသည့် အချက်အလက်များ (Static Content) များကို နေရာ ဖြန့်ကျက် ထားရှိရန် ဆောင်ရွက်ခြင်း (Dispersing the static content) က ပိုကောင်းမည် ဖြစ်သည်။ ဤသို့ လုပ်ဆောင်ခြင်းသည် ၀က်ဘ်ဆိုက်များ၏ တုန့်ပြန်ချိန် (Response time) ကို ပိုမိုလျင်မြန် လာစေသည်သာမက၊ ဖိုင်၀န်ဆောင်မှု ကွန်ရက် (CDN) များကို သုံးပြီး လွယ်ကူ လျင်မြန်စွာ အကောင်အထည် ဖော်နိုင်သည်။

ဖိုင်၀န်ဆောင်မှု ကွန်ရက် (Content Delivery Network - CDN) - များသည် အချက်အလက်များကို အသုံးပြုသူများ ထံသို့ ထိရောက်လျင်မြန်စွာ ပေးပို့နိုင်ရန် ရည်ရွယ်ချက်ဖြင့် ကမ္ဘာ၏ နေရာများစွာတွင် ဖြန့်ကျက်ထားရှိသော ဆာဗာအစုအပေး - ဖြစ်သည်။ အချက်အလက်တစ်ခုကို သက်ဆိုင်သည့် အသုံးပြုသူတစ်ဦးထံ အမြန်ဆုံးပေးပို့ရန် အတွက် ဆာဗာကို ရွေးချယ်မှုသည် - စံအားဖြင့် ကွန်ရက် အကွာအပေး (Network proximity) ကို အခြေခံထားကာ တွက်ချက်သည်။ ဥမမာ - ကြားခံအဆင့် အနဲဆုံးသော ဆာဗာ (Server with fewest network hops) သို့မဟုတ် တုန့်ပြန်မှု အလျင်မြန်ဆုံးသော ဆာဗာကို ရွေးချယ်သည်။

အချို့သော အင်တာနက် ကုမ္ပဏီကြီးများတွင် ကိုယ်ပိုင် CDN များ ရှိကြသည်။ သို့သော် ကိုယ်ပိုင်ဖန်တီးခြင်းထက် Akamai Technologies, Mirror Image Internet သို့မဟုတ် Limelight Networks စသည့် CDN ၀န်ဆောင်မှု ကွန်ရက်များကို အသုံးပြုခြင်းက ပိုပြီး ကုန်ကျစားရိတ် သက်သာမည် ဖြစ်သည်။ ယခုမှ စတင်မည့်သူများနှင့် ကိုယ်ပိုင် ၀က်ဘ်ဆိုက်များအတွက် CDN ၀န်ဆောင်မှုများကို အသုံးပြုရသည့် စားရိတ်မှာ မနည်းလှသော်လည်း၊ ဦးတည်ထားသည့် ရည်မှန်းချက် ကြီးထွားလာပြီး အသုံးပြုသူများအနေဖြင့် ကမ္ဘာ၏ နေရာ အနှံ့အပြား ကျယ်ပြန့်လာသည့်အခါ - လျင်မြန်သည့် ၀က်ဘ်ဆိုက် တစ်ခုကို ရရှိစေရန်အတွက် CDN တစ်ခုကို အသုံးပြုသင့်ပေသည်။

Yahoo! တွင် အပြောင်းအလဲ လုပ်ဖို့ မလိုသည့် အချက်အလက်များ (Static Content) ကို CDN များသို့ ရွှေ့ပြောင်းလိုက်သည့် နောက်တွင် အသုံးပြုသူများကို ယခင်ကထက် ၂၀% ကျော် ပိုမိုလျင်မြန်စွာ တုန့်ပြန်လာနိုင်ကြောင်း တွေ့ရသည်။ CDN တစ်ခုကို ပြောင်းလဲ အသုံးပြုခြင်းသည် ရေးထားသည့် Code တွင် အလွယ်တကူ အနည်းငယ် ပြင်ဆင်လိုက်ရုံမျှသာ ဖြစ်ပြီး၊ ၀က်ဘ်ဆိုက်၏ အမြန်နှုံးကိုလည်း သိသိသာသာ လျင်မြန်လာစေမည် ဖြစ်သည်။

Commercial CDNs

  1. Akamai Technologies
  2. Amazon CloudFront
  3. BitGravity
  4. CacheFly
  5. CDNetworks (PantherExpress)
  6. Cotendo
  7. EdgeCast Networks
  8. Highwinds Network Group
  9. Internap
  10. Level 3 Communications
  11. Limelight Networks

Google AJAX Libraries API

Google AJAX Library များသည်လည်း အောင်မြင်ကျော်ကြားသည့်၊ အခမဲ့ အသုံးပြုနိုင်သည့် Open Source JavaScript Libraries များကို စုစည်းပေးထားသော CDN တစ်ခုဖြစ်သည်။ Google AJAX API Loader ၏ google.load() method ကို အသုံးပြုခြင်းအားဖြင့် ကျွန်တော်တို့၏ Web application များတွင် လျင်မြန်သော၊ ကမ္ဘာ၏ နေရာ အနှံ့အပြားမှာ လျင်မြန်စွာ အသုံးပြုနိုင်သော Open Source JavaScript Libraries များကို ထည့်သွင်း အသုံးပြုနိုင်မည် ဖြစ်သည်။ ၄င်းတို့တွင် လက်ရှိအားဖြင့် -

  1. jQuery
  2. jQuery UI
  3. Prototype
  4. script.aculo.us
  5. MooTools
  6. Dojo
  7. SWFObject
  8. Yahoo! User Interface Library (YUI)
  9. Ext Core
  10. Chrome Frame

စသည့် JavaScript Library များ ပါရှိသည်။

 

Ref - http://developer.yahoo.com/performance/rules.html#cdn

Add new comment

Featured Articles