Kuchulukitsa kachulukidwe ka chidebe pa node pogwiritsa ntchito ukadaulo wa PFCACHE

Kuchulukitsa kachulukidwe ka chidebe pa node pogwiritsa ntchito ukadaulo wa PFCACHE

Chimodzi mwa zolinga za woperekera alendo ndikukulitsa kugwiritsa ntchito zida zomwe zilipo kale kuti apereke chithandizo chabwino kwa ogwiritsa ntchito omaliza. Zida zama seva otsiriza zimakhala zochepa, koma chiwerengero cha mautumiki a makasitomala omwe akukhala nawo, ndipo kwa ife tikukamba za VPS, akhoza kusiyana kwambiri. Werengani za momwe mungakwerere mtengo ndikudya burger pansi pa odulidwa.

Kuphatikizira VPS pa node m'njira yoti makasitomala asamve nkomwe kumathandiza kwambiri kukulitsa magwiridwe antchito achuma a woperekera alendo aliyense. Zowonadi, node siyenera kuphulika pa seams ngati ili yodzaza ndi zotengera, ndipo kukwera kulikonse kwa katundu kumamveka ndi makasitomala onse.

Ndi VPS ingati yomwe ingatengedwe pa node imodzi zimatengera zinthu zambiri, zodziwikiratu monga:

1. Makhalidwe a hardware ya node yokha
2. VPS kukula
3. Chikhalidwe cha katundu pa VPS
4. Ukadaulo wapakompyuta womwe umathandizira kukulitsa kachulukidwe

Pankhaniyi, tigawana zomwe takumana nazo pogwiritsa ntchito ukadaulo wa Pfcache wa Virtuozzo.
Timagwiritsa ntchito nthambi ya 6, koma zonse zomwe zanenedwa ndizowonanso za 7.

Pfcache - makina a Virtuozzo omwe amathandizira kubwereza IOPS ndi RAM m'mitsuko, kugawa mafayilo omwe ali m'mitsuko m'malo osiyana.

Kwenikweni ili ndi:
1. Kernel kodi
2. Chiwanda chogwiritsa ntchito malo
3. Zogwiritsa ntchito malo

Pa mbali ya node, timagawa gawo lonse momwe mafayilo adzapangidwira omwe adzagwiritsidwa ntchito mwachindunji ndi VPS yonse pa node. Chida cha block ploop chayikidwa mu gawoli. Kenako, chidebecho chikayamba, chimalandira mawu a gawo ili:

[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
...

Nazi ziwerengero za kuchuluka kwa mafayilo pa imodzi mwama node athu:

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

Mfundo ya pfcache ndi motere:
β€’ Daemon-space daemon Pfcached imalemba sha-1 hash ya fayilo ku xattr mawonekedwe a fayiloyi. Osati mafayilo onse amasinthidwa, koma mu / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 zolemba

β€’ Ndizotheka kuti mafayilo omwe ali m'makanema awa "agawidwa" ndipo agwiritsidwa ntchito ndi makontena angapo;

β€’ Pfcached nthawi ndi nthawi amasonkhanitsa ziwerengero za kuwerenga mafayilo kuchokera ku kernel, kusanthula, ndikuwonjezera mafayilo ku cache ngati amagwiritsidwa ntchito kawirikawiri;

β€’ Maupangiri awa akhoza kukhala osiyana ndipo amakonzedwa m'mafayilo osintha.

β€’ Powerenga fayilo, imawunikidwa ngati ili ndi hashi yotchulidwa mu xattr yowonjezereka. Ngati ili, fayilo ya "general" imatsegulidwa m'malo mwa fayilo ya chidebe. Kulowetsedwa kumeneku kumachitika mosazindikirika ndi kachidindo ka chidebe ndipo kumabisika mu kernel;

β€’ Polemba ku fayilo, hashi ndiyosavomerezeka. Chifukwa chake, nthawi ina mukatsegula, fayilo ya chidebeyo idzatsegulidwa, osati cache yake.

Mwa kusunga mafayilo ogawidwa kuchokera ku /vz/pfcache mu cache ya tsamba, timakwaniritsa zosungirako mu cache yokha, komanso kusunga mu IOPS.M'malo mowerenga mafayilo khumi kuchokera ku disk, timawerenga imodzi, yomwe nthawi yomweyo imapita ku cache ya tsamba.

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

Mndandanda wa VMA wamafayilo umakhala wosakwatiwa (timasunga kukumbukira) ndipo umawerengedwa kuchokera pa disk nthawi zambiri (kupulumutsa ma iops). Thumba lathu wamba lili pa SSD - phindu linanso pa liwiro.

Chitsanzo chosungira fayilo /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

Timawerengera mphamvu yogwiritsira ntchito script okonzeka.

Script iyi imadutsa muzitsulo zonse pa node, kuwerengera mafayilo osungidwa a chidebe chilichonse.

[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

Chifukwa chake, kuchokera pamtima timasunga mafayilo pafupifupi 40 gigabytes m'mitsuko; adzakwezedwa kuchokera ku cache.

Kuti makinawa agwire bwino ntchito, ndikofunikira kuyika VPS "yofanana" pamfundoyi. Mwachitsanzo, zomwe wogwiritsa ntchito alibe mizu komanso momwe chilengedwe chochokera pa chithunzi chomwe chatumizidwa chimakonzedwa.

Mutha kuyimba pfcache kudzera pa config file
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - osachepera / kukula kwa fayilo kwa caching
TIMEOUT - nthawi yatha pakati pa kuyesa kusungitsa

Mutha kuwona mndandanda wonse wa magawo kugwirizana.

Source: www.habr.com

Kuwonjezera ndemanga