Kuwedzera density yemidziyo pane node uchishandisa PFCACHE tekinoroji

Kuwedzera density yemidziyo pane node uchishandisa PFCACHE tekinoroji

Chimwe chezvinangwa zvemupi wekutambira ndechekuwedzera mashandisirwo emidziyo iripo kuitira kuti ipe yemhando yepamusoro sevhisi kune vanopedza vashandisi. Zvishandiso zvemaseva ekupedzisira zvinongogara zvishoma, asi huwandu hweakabatwa masevhisi evatengi, uye mune yedu isu tiri kutaura nezveVPS, inogona kusiyana zvakanyanya. Verenga nezvekukwira kwemuti uye kudya burger pasi pekucheka.

Kubatanidza VPS pane node nenzira yekuti vatengi havainzwe zvachose inobatsira zvikuru kuwedzera kushanda kwehupfumi kune chero mupi wekutambira. Ehezve, node haifanirwe kuputika pamitsetse kana yakatsikirirwa izere nemidziyo, uye chero kukwira kwemutoro kunobva kwanzwikwa nevatengi vese.

Ingani VPS inogona kubatwa pane imwe node zvinoenderana nezvakawanda zvinhu, zviri pachena senge:

1. Hunhu hwehardware ye node pachayo
2. VPS ukuru
3. Chimiro chemutoro paVPS
4. Software matekinoroji anobatsira optimize density

Muchiitiko ichi, tichagovana ruzivo rwedu rwekushandisa Pfcache tekinoroji yeVirtuozzo.
Isu tinoshandisa 6th bazi, asi zvese zvataurwa ndezvechokwadi kune yechinomwe.

Pfcache -Muchina weVirtuozzo unobatsira kuburitsa IOPS uye RAM mumidziyo, ichigovera mafaera akafanana mumidziyo kune imwe nzvimbo yakajairika.

Chaizvoizvo inosanganisira:
1. Kernel code
2. Dhimoni remushandisi-munzvimbo
3. Zvishandiso zvemushandisi-nzvimbo

Padivi renode, tinogovera chikamu chose umo mafaera achagadzirwa ayo achashandiswa zvakananga neVPS yese pane node. A block ploop mudziyo wakaiswa muchikamu chino. Zvino, kana mudziyo watanga, unogamuchira referensi yechikamu ichi:

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

Heano huwandu hwehuwandu hwehuwandu hwemafaira pane imwe yedu 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

Nheyo ye pfcache ndeiyi inotevera:
β€’ Mushandisi-nzvimbo daemon Pfcached inonyora sha-1 hashi yefaira ku xattr hunhu hwefaira iri. Haasi mafaera ese anogadziriswa, asi chete mu / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 madhairekitori.

β€’ Zvingangodaro kuti mafaira ari mumadhairekitori aya acha β€œgovewa” uye achashandiswa nemidziyo yakawanda;

β€’ Pfcached nguva nenguva inounganidza nhamba dzekuverenga mafaira kubva kune kernel, inoiongorora, uye inowedzera mafaira kune cache kana achishandiswa kakawanda;

β€’ Aya madhairekitori anogona kunge akasiyana uye akagadziriswa mumafaira ekugadzirisa.

β€’ Pakuverenga faira, inotariswa kuti ine hashi yakatsanangurwa mu xattr yakawedzerwa hunhu. Kana iine, iyo "general" faira inovhurwa pachinzvimbo chefaira faira. Kutsiva uku kunoitika kusingaonekwe nekodhi yemidziyo uye yakavanzwa mukernel;

β€’ Paunonyorera faira, hashi haina kushanda. Saka, nguva inotevera paunoivhura, faira yemudziyo pachayo ichavhurwa, uye kwete cache yayo.

Nokuchengeta mafaira akagoverwa kubva /vz/pfcache mune cache peji, tinowana kuchengetedza mune ino cache pachayo, pamwe chete nekuchengetedza muIOPS.Panzvimbo yekuverenga mafaira gumi kubva ku diski, tinoverenga imwe, iyo pakarepo inoenda kune cache peji.

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

Rondedzero yeVMA yefaira inoramba isina kuroorwa (isu tinobvisa ndangariro) uye inoverengwa kubva kudiski kazhinji (kuchengetedza iops). Homwe yedu yakajairwa iri pane SSD - imwe yekuwedzera kuwana mukumhanya.

Muenzaniso we caching iyo /bin/bash faira:

[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

Isu tinoverenga kugona kwekushandisa yakagadzirira-yakagadzirwa script.

Iyi script inopinda mumidziyo yese pane node, ichiverenga mafaera akavharirwa ega ega.

[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

Saka, kubva mundangariro tinochengetedza anenge 40 gigabytes emafaira mumidziyo; ivo vanozoiswa kubva kune cache.

Kuti iyi michina ishande zvirinani, zvinodikanwa kuisa iyo "yakafanana" VPS pane node. Semuenzaniso, izvo izvo mushandisi asina midzi yekuwana uye pane iyo nharaunda kubva kune yakatumirwa mufananidzo inogadziriswa.

Iwe unogona tune pfcache kuburikidza neiyo config faira
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - shoma / yakakura faira saizi ye caching
TIMEOUT - nguva yekupera pakati pekuedza caching

Iwe unogona kuona iyo yakazara runyorwa rwema parameter batanidzo.

Source: www.habr.com

Voeg