ဗားရှင်းအသစ်သည် သိုလှောင်မှုအကောင်အထည်ဖော်မှုကို တည်ငြိမ်စေသည်
Extstore သည် သင့်အား ကက်ရှ်အရွယ်အစားကို ချဲ့ထွင်ရန် SSD/Flash drive များကို အသုံးပြုခွင့်ပေးသည်။ RAM ကဲ့သို့ပင်၊ Flash သိုလှောင်မှုသည် အမြဲတမ်းမဟုတ်ပါ၊ ပြန်လည်စတင်ချိန်တွင် ပြန်လည်သတ်မှတ်ပါသည်။ မုဒ်အသစ်၏ နယ်ပယ်သည် ကြီးမားသောဒေတာများကို ထိရောက်စွာ သိမ်းဆည်းထားခြင်းကို သေချာစေရန်ဖြစ်သည်။ "extstore" ကို အသုံးပြုသည့်အခါ သော့များနှင့် မက်တာဒေတာကို RAM တွင်သာ သိမ်းဆည်းထားသော်လည်း သတ်မှတ်ပမာဏထက်ကျော်လွန်သည့် ကီးများနှင့် ဆက်စပ်နေသည့် ကြီးမားသောဒေတာကို ပြင်ပသိုလှောင်မှုတွင် သိမ်းဆည်းထားပြီး ညွှန်ပြသည့်အရာသည် RAM တွင်သာ ကျန်ရှိနေပါသည်။
သော့သည် သေးငယ်သောဒေတာနှင့် ဆက်စပ်နေပါက Memcached သည် ပုံမှန်အတိုင်း အလုပ်လုပ်သည်၊ ဒေတာကို မှတ်ဉာဏ်တွင် ထိန်းသိမ်းထားပြီး ပြင်ပသိုလှောင်မှုသို့ ဝင်ရောက်နိုင်မည်မဟုတ်ပေ။ အလကားမမ်မိုရီ အများအပြားရှိပါက၊ လိုအပ်ဆုံးဒေတာကို RAM အတွင်းရှိ ကက်ရှ်တွင် လုံးလုံးလျားလျား ထားရှိနိုင်သည် (ဥပမာ၊ 1024 စက္ကန့်အတွင်း ဝင်ရောက်၍မရသော 3600 bytes ထက်ကြီးသော အရာများကိုသာ Flash သို့ ပြန်လည်သတ်မှတ်နိုင်သည် )
သိုလှောင်မှုထိရောက်မှု (အကွဲကွဲအပြားပြားဖြစ်မှုအဆင့်မြင့်မား) ဖြင့် အမြင့်ဆုံးစွမ်းဆောင်ရည်နှင့် အနည်းဆုံး CPU ဝန်အားသေချာစေရန် အကောင်အထည်ဖော်မှုကို အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ထားသည်။ Flash drive များ၏ သက်တမ်းကို သက်တမ်းတိုးရန်၊ ဒေတာကို ခေတ္တပိတ်ပြီး ဆက်တိုက် သိုလှောင်မှုသို့ ဖယ်ထုတ်သည်။ ပြန်လည်စတင်ခြင်းကြားတွင် ကက်ရှ်ပြည်နယ်ကို သိမ်းဆည်းရန်၊ ဖိုင်တစ်ခုသို့ ကက်ရှ်အမှိုက်ပုံးကို စွန့်ပစ်ရန် ထုတ်ဝေမှု 1.5.18 တွင် ပါရှိသည့် စွမ်းရည်ကို သင်အသုံးပြုနိုင်ပါသည်။ နောက်တစ်ခုစတင်ချိန်တွင်၊ ကက်ရှ်ဗလာဖြစ်နေသောကြောင့် အကြောင်းအရာပရိုဆက်ဆာများတွင် load ပေါ်နေသော အထွတ်အထိပ်များကိုဖယ်ရှားရန် ဤဖိုင်မှ ကက်ရှ်ကို ပြန်လည်ရယူနိုင်သည် (ကက်ရှ်သည် ချက်ချင်း "နွေးသည်" ဖြစ်လာသည်)။
Memcached 1.6 တွင် ဒုတိယအရေးကြီးသောပြောင်းလဲမှုမှာ စနစ်ခေါ်ဆိုမှုတစ်ခုအတွင်း အစုလိုက်တောင်းဆိုမှုများကို အလိုအလျောက်လုပ်ဆောင်ရန် ကွန်ရက်ဆက်သွယ်ရေးကုဒ်ကို ပြန်လည်လုပ်ဆောင်ခြင်းဖြစ်သည်။ ယခင်က TCP packet တစ်ခုတွင် GET command အများအပြားကို ပေးပို့သောအခါ၊ memcached သည် သီးခြားစနစ်ခေါ်ဆိုမှုများဖြင့် ရလဒ်များကို ပေးပို့မည်ဖြစ်သည်။ Memcached 1.6 တွင်၊ စနစ်တစ်ခုခေါ်ဆိုမှုတစ်ခုပေးပို့ခြင်းဖြင့် တုံ့ပြန်မှုများကို စုစည်းပြီး ပြန်ပေးသည်။ ရလဒ်အနေဖြင့်၊ ယခုအခါ စနစ်ခေါ်ဆိုမှုတစ်ခုလျှင် ပျမ်းမျှသော့ 1.5 ခုရှိနေပြီဖြစ်ပြီး စမ်းသပ်မှုများတွင် CPU ဝန်အား 25% အထိ လျှော့ချပေးပြီး latency ကို ရာခိုင်နှုန်းများစွာ လျှော့ချနိုင်သည်ကို သက်သေပြသည်။
ကွန်ရက်စနစ်ခွဲ၏ ပြန်လည်ဒီဇိုင်းပုံစံသည် တည်ငြိမ်စွာသတ်မှတ်ပေးမည့်ကြားခံများကို သတ်မှတ်ပေးမည့်အစား လိုအပ်သလို လိုအပ်သလို ရွေ့လျားခွဲဝေသတ်မှတ်မှုသို့ ပြောင်းရွှေ့နိုင်စေခဲ့သည်။ ဤပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းသည် ကလိုင်းယင့်ဖွဲ့စည်းထားသောချိတ်ဆက်မှုမှတစ်ဆင့် 4.5 KB မှ 400-500 bytes မှ ညွှန်ကြားချက်အသစ်များကိုစောင့်ဆိုင်းစဉ် မှတ်ဉာဏ်သုံးစွဲမှုကို လျှော့ချပေးကာ မလိုအပ်သော memory အပိုင်းကွဲများဆီသို့ ခေါ်ဆိုမှုများများစွာကို ဖယ်ရှားပစ်နိုင်စေခဲ့သည်။ ချိတ်ဆက်မှုများစွာဖြင့် စနစ်များ။ လက်ရှိအသုံးပြုနေသော client ချိတ်ဆက်မှုများအတွက် အလုပ်သမားစာတွဲတစ်ခုစီသည် ၎င်း၏ကိုယ်ပိုင်စာဖတ်ခြင်းနှင့်ရေးသည့်ကြားခံအစုအဝေးကို ကိုင်တွယ်ဆောင်ရွက်နေပြီဖြစ်သည်။ ဤကြားခံများ၏ အရွယ်အစားကို ချိန်ညှိရန်
ရွေးချယ်စရာများ “-o resp_obj_mem_limit=N” နှင့် “-o read_buf_mem_limt=N” ကို ပေးထားသည်။
ဘဏ်ခွဲ 1.6 ကိုလည်း ဖျက်သိမ်းကြောင်း ကြေညာခဲ့သည်။
source: opennet.ru