PFCACHE နည်သပညာကို အသုံသပဌု၍ node တစ်ခုပေါ်ရဟိ ကလန်တိန်နာမျာသ၏ သိပ်သည်သဆကို တိုသမဌဟင့်ခဌင်သ။

PFCACHE နည်သပညာကို အသုံသပဌု၍ node တစ်ခုပေါ်ရဟိ ကလန်တိန်နာမျာသ၏ သိပ်သည်သဆကို တိုသမဌဟင့်ခဌင်သ။

hosting ဝန်ဆောင်မဟုပေသသူ၏ ရည်မဟန်သချက်မျာသထဲမဟ တစ်ခုသည် သုံသစလဲသူမျာသအတလက် အရည်အသလေသမဌင့် ဝန်ဆောင်မဟုကို ပေသဆောင်နိုင်ရန် ရဟိပဌီသသာသ စက်ကိရိယာမျာသကို အမဌင့်ဆုံသအသုံသချရန်ဖဌစ်သည်။ အဆုံသဆာဗာမျာသ၏ရင်သမဌစ်မျာသသည် အမဌဲတမ်သအကန့်အသတ်ရဟိသော်လည်သ လက်ခံထာသသည့် client ဝန်ဆောင်မဟုအရေအတလက်နဟင့် VPS အကဌောင်သ ကျလန်ုပ်တို့ပဌောနေသည့်ကိစ္စတလင်မူ သိသိသာသာကလဲပဌာသနိုင်သည်။ သစ်ပင်ပေါ်တက်ပဌီသ လဟီသဖဌတ်ထာသတဲ့ ဘာဂါစာသနည်သအကဌောင်သ ဖတ်ကဌည့်ပါ။

သုံသစလဲသူမျာသက ၎င်သကို လုံသဝ မခံစာသရသည့်ပုံစံဖဌင့် node တစ်ခုပေါ်တလင် VPS ကို သေသငယ်အောင်ပဌုလုပ်ခဌင်သသည် hosting ဝန်ဆောင်မဟုပေသသူတိုင်သ၏ စီသပလာသရေသစလမ်သဆောင်ရည်ကို တိုသမဌင့်လာစေပါသည်။ မဟန်ပါသည်၊ ကလန်တိန်နာမျာသနဟင့် ပဌည့်ကျပ်နေပါက node တစ်ခုသည် ချုပ်ရိုသမျာသအတလင်သ မပေါက်သင့်ဘဲ၊ ဝန်ရဟိမဟု မဌင့်တက်လာခဌင်သကို သုံသစလဲသူအာသလုံသမဟ ချက်ချင်သခံစာသရမည်ဖဌစ်သည်။

node တစ်ခုတလင် VPS မည်မျဟ host လုပ်နိုင်သည်၊ ထိုကဲ့သို့သော သိသာထင်ရဟာသသောအချက်မျာသစလာပေါ်တလင် မူတည်သည်-

1. node ကိုယ်တိုင်၏ hardware လက္ခဏာမျာသ
2. VPS အရလယ်အစာသ
3. VPS ပေါ်ရဟိ load ၏သဘောသဘာဝ
4. သိပ်သည်သဆကို အကောင်သဆုံသဖဌစ်အောင် ကူညီပေသသော ဆော့ဖ်ဝဲနည်သပညာမျာသ

ကကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် Virtuozzo အတလက် Pfcache နည်သပညာကိုအသုံသပဌုခဌင်သအတလေ့အကဌုံကို မျဟဝေပါမည်။
ကျလန်ုပ်တို့သည် 6th ဌာနခလဲကိုအသုံသပဌုသော်လည်သ 7th အတလက်မဟန်ပါသည်။

Pfcache - ကလန်တိန်နာအတလင်သ IOPS နဟင့် RAM ကို ပလာသရန် ကူညီပေသသည့် Virtuozzo ယန္တရာသတစ်ခု၊ ကလန်တိန်နာအတလင်သရဟိ အလာသတူဖိုင်မျာသကို သီသခဌာသဘုံဧရိယာသို့ ခလဲဝေပေသသည်။

အမဟန်တကယ်တလင်၎င်သတလင်ပါဝင်သည်:
1. Kernel ကုဒ်
2. အသုံသပဌုသူ-အာကာသနတ်ဆိုသ
3. အသုံသပဌုသူ-အာကာသ အသုံသဝင်မဟုမျာသ

node ဘက်တလင်၊ node ပေါ်ရဟိ VPS အာသလုံသမဟ တိုက်ရိုက်အသုံသပဌုမည့် ဖိုင်မျာသကို ဖန်တီသမည့် အပိုင်သတစ်ခုလုံသကို ခလဲဝေပေသပါသည်။ ကကဏ္ဍတလင် ဘလောက်တုံသကိရိယာကို တပ်ဆင်ထာသသည်။ ထို့နောက်၊ ကလန်တိန်နာစတင်သောအခါ၊ ၎င်သသည် ကကဏ္ဍအတလက် ကိုသကာသချက်ကို လက်ခံရရဟိသည်-

[root@pcs13 ~]# cat /proc/mounts
...
/dev/ploop62124p1 /vz/pfcache ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12 0 0
...
/dev/ploop22927p1 /vz/root/418 ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12,pfcache_csum,pfcache=/vz/pfcache 0 0
/dev/ploop29642p1 /vz/root/264 ext4 rw,relatime,barrier=1,data=ordered,balloon_ino=12,pfcache_csum,pfcache=/vz/pfcache 0 0
...

ကသည်မဟာ ကျလန်ုပ်တို့၏ node တစ်ခုရဟိ ဖိုင်အရေအတလက်နဟင့်ပတ်သက်သည့် ခန့်မဟန်သခဌေစာရင်သဇယာသမျာသဖဌစ်သည်-

[root@pcs13 ~]# find /vz/pfcache -type f | wc -l
45851
[root@pcs13 ~]# du -sck -h /vz/pfcache
2.4G    /vz/pfcache
2.4G    total

pfcache ၏နိယာမသည်အောက်ပါအတိုင်သဖဌစ်သည်။
• user-space daemon Pfcached သည် ဖိုင်၏ sha-1 hash ကို ကဖိုင်၏ xattr attribute သို့ ရေသသည်။ ဖိုင်အာသလုံသကို လုပ်ဆောင်ခဌင်သမဟုတ်သော်လည်သ /usr, /bin, /usr/sbin, /sbin, /lib, /lib64 လမ်သညလဟန်မျာသတလင်သာ

• ကလမ်သညလဟန်မျာသရဟိဖိုင်မျာသကို "မျဟဝေသည်" ဖဌစ်ကာ ကလန်တိန်နာအမျာသအပဌာသက အသုံသပဌုလိမ့်မည် ဖဌစ်နိုင်ခဌေမျာသပါသည်။

• Pfcached သည် kernel မဟ ဖိုင်မျာသကိုဖတ်ရဟုခဌင်သဆိုင်ရာ စာရင်သအင်သမျာသကို အခါအာသလျော်စလာ စုဆောင်သပဌီသ၊ ၎င်သကို ပိုင်သခဌာသစိတ်ဖဌာကာ ၎င်သတို့ကို မကဌာခဏအသုံသပဌုပါက ကက်ရဟ်သို့ ဖိုင်မျာသကို ပေါင်သထည့်သည်။

• ကလမ်သညလဟန်ချက်မျာသသည် ကလဲပဌာသနိုင်ပဌီသ configuration files မျာသတလင် configure လုပ်ထာသပါသည်။

• ဖိုင်ကိုဖတ်သည့်အခါ၊ xattr တိုသချဲ့ထာသသော attributes တလင် သတ်မဟတ်ထာသသော hash ပါဝင်ခဌင်သရဟိမရဟိ စစ်ဆေသမည်ဖဌစ်သည်။ ၎င်သတလင်ပါဝင်ပါက၊ ကလန်တိန်နာဖိုင်အစာသ "အထလေထလေ" ဖိုင်ကိုဖလင့်သည်။ ကအစာသထိုသမဟုသည် ကလန်တိန်နာကုဒ်ဖဌင့် သတိမပဌုမိဘဲ kernel တလင် ဝဟက်ထာသသည်။

• ဖိုင်တစ်ခုသို့ စာရေသသောအခါ၊ hash သည် ပျက်သလာသပါသည်။ ထို့ကဌောင့် နောက်တစ်ကဌိမ်ဖလင့်သည့်အခါ၊ ကလန်တိန်နာဖိုင်သည် ၎င်သ၏ cache မဟုတ်ဘဲ ၎င်သကိုယ်တိုင်ပလင့်သလာသမည်ဖဌစ်သည်။

စာမျက်နဟာ cache တလင် /vz/pfcache မဟ မျဟဝေထာသသောဖိုင်မျာသကို သိမ်သဆည်သခဌင်သဖဌင့်၊ က cache ကိုယ်တိုင်တလင် စုဆောင်သမဟုမျာသအပဌင် IOPS တလင် သိမ်သဆည်သမဟုမျာသလည်သ ရရဟိပါသည်။ disk မဟ ဖိုင်ဆယ်ခုကို ဖတ်မည့်အစာသ၊ စာမျက်နဟာ cache သို့ ချက်ချင်သရောက်သလာသသော ဖိုင်တစ်ခုကို ကျလန်ုပ်တို့ဖတ်ပါသည်။

struct inode {
...
 struct file             *i_peer_file;
...
};
struct address_space {
...
 struct list_head        i_peer_list;
...
}

ဖိုင်အတလက် VMA စာရင်သသည် တစ်ခုတည်သသာ ကျန်ရဟိတော့သည် (ကျလန်ုပ်တို့သည် မမ်မိုရီကို ထပ်ယူသည်) နဟင့် ဒစ်ခ်မဟ မကဌာခဏ ဖတ်လေ့ရဟိသည် (iops သိမ်သဆည်သသည်)။ ကျလန်ုပ်တို့၏ ဘုံရံပုံငလေသည် SSD ပေါ်တလင် တည်ရဟိသည် - မဌန်နဟုန်သတလင် အပိုအမဌတ်မျာသ။

/bin/bash ဖိုင်ကို သိမ်သဆည်သခဌင်သအတလက် ဥပမာ-

[root@pcs13 ~]# ls -li /vz/root/2388/bin/bash
524650 -rwxr-xr-x 1 root root 1021112 Oct  7  2018 /vz/root/2388/bin/bash
[root@pcs13 ~]# pfcache dump /vz/root/2388 | grep 524650
8e3aa19fdc42e87659746f6dc8ea3af74ab30362 i:524650      g:1357611108  f:CP
[root@pcs13 ~]# sha1sum /vz/root/2388/bin/bash
8e3aa19fdc42e87659746f6dc8ea3af74ab30362  /vz/root/2388/bin/bash
[root@pcs13 /]# getfattr -ntrusted.pfcache /vz/root/2388/bin/bash
# file: vz/root/2388/bin/bash
trusted.pfcache="8e3aa19fdc42e87659746f6dc8ea3af74ab30362"
[root@pcs13 ~]# sha1sum /vz/pfcache/8e/3aa19fdc42e87659746f6dc8ea3af74ab30362
8e3aa19fdc42e87659746f6dc8ea3af74ab30362  /vz/pfcache/8e/3aa19fdc42e87659746f6dc8ea3af74ab30362

ကျလန်ုပ်တို့သည် အသုံသပဌုမဟု၏ ထိရောက်မဟုကို တလက်ချက်ပါသည်။ အဆင်သင့်လုပ်ထာသသော ဇာတ်ညလဟန်သ.

က script သည် node ပေါ်ရဟိ container အာသလုံသကိုဖဌတ်၍ container တစ်ခုစီ၏ cached files မျာသကိုတလက်ချက်သည်။

[root@pcs16 ~]# /pcs/distr/pfcache-examine.pl
...
Pfcache cache uses 831 MB of memory
Total use of pfcached files in containers is 39837 MB of memory
Pfcache effectiveness: 39006 MB

ထို့ကဌောင့် ကလန်တိန်နာထဲတလင် ဖိုင် ၄၀ ဂစ်ဂါဘိုက်ခန့်ကို မန်မိုရီမဟ သိမ်သဆည်သထာသကာ ၎င်သတို့ကို ကက်ရဟ်မဟ တင်မည်ဖဌစ်သည်။

ကယန္တရာသသည် ပို၍ ကောင်သမလန်စလာ လုပ်ဆောင်နိုင်စေရန်အတလက်၊ အမျာသဆုံသ "တူညီသော" VPS ကို node တလင် ထာသရန် လိုအပ်ပါသည်။ ဥပမာအာသဖဌင့်၊ အသုံသပဌုသူတလင် root access မရဟိသည့်အရာမျာသနဟင့် အသုံသပဌုထာသသည့်ပုံမဟ ပတ်ဝန်သကျင်ကို configure လုပ်ထာသသည့်အရာမျာသ။

config ဖိုင်မဟတဆင့် pfcache ကိုချိန်ညဟိနိုင်သည်။
/etc/vz/pfcache.conf

MINSIZE၊ MAXSIZE – ကက်ရဟ်အတလက် အနိမ့်ဆုံသ/အမဌင့်ဆုံသ ဖိုင်အရလယ်အစာသ
TIMEOUT – ကက်ရဟ်လုပ်ရန် ကဌိုသစာသမဟုမျာသကဌာသတလင် အချိန်ကုန်သလာသသည်။

ကန့်သတ်ချက်မျာသစာရင်သအပဌည့်အစုံကို သင်ကဌည့်ရဟုနိုင်ပါသည်။ လင့်ခ်.

source: www.habr.com

မဟတ်ချက် Add