Pagdugang sa densidad sa sudlanan sa usa ka node gamit ang teknolohiya sa PFCACHE

Pagdugang sa densidad sa sudlanan sa usa ka node gamit ang teknolohiya sa PFCACHE

Usa sa mga tumong sa hosting provider mao ang pag-maximize sa paggamit sa kasamtangan nga kagamitan aron makahatag og kalidad nga serbisyo sa mga end user. Ang mga kahinguhaan sa mga end server kanunay nga limitado, apan ang gidaghanon sa gi-host nga mga serbisyo sa kliyente, ug sa among kaso naghisgot kami bahin sa VPS, mahimong magkalainlain. Basaha ang bahin sa kung giunsa ang pagsaka sa kahoy ug pagkaon sa usa ka burger sa ilawom sa pagputol.

Ang pag-compact sa VPS sa usa ka node sa paagi nga ang mga kliyente dili mobati niini sa tanan nga makatabang kaayo sa pagdugang sa ekonomikanhon nga performance sa bisan unsa nga hosting provider. Siyempre, ang usa ka node kinahanglan nga dili mobuto sa mga seams kung kini puno sa mga sudlanan, ug ang bisan unsang pagdagsang sa load mabati dayon sa tanan nga mga kliyente.

Pila ka VPS ang mahimong ma-host sa usa ka node nagdepende sa daghang mga hinungdan, ingon nga klaro sama sa:

1. Mga kinaiya sa hardware sa node mismo
2. Gidak-on sa VPS
3. Kinaiya sa load sa VPS
4. Mga teknolohiya sa software nga makatabang sa pag-optimize sa densidad

Sa kini nga kaso, among ipaambit ang among kasinatian sa paggamit sa teknolohiya sa Pfcache para sa Virtuozzo.
Gigamit namo ang ika-6 nga sanga, apan ang tanan nga gisulti tinuod usab alang sa ika-7.

Pfcache - usa ka mekanismo sa Virtuozzo nga makatabang sa pag-deduplicate sa IOPS ug RAM sa mga sudlanan, nga naggahin sa parehas nga mga file sa mga sudlanan sa usa ka bulag nga komon nga lugar.

Sa pagkatinuod kini naglangkob sa:
1. Kernel code
2. User-space nga demonyo
3. User-space utilities

Sa node nga bahin, among gigahin ang tibuok nga seksyon diin ang mga file pagahimoon nga direktang gamiton sa tanang VPS sa node. Usa ka block ploop device ang gitaod niini nga seksyon. Unya, sa diha nga ang sudlanan magsugod, kini makadawat og usa ka pakisayran alang niini nga seksyon:

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

Ania ang gibanabana nga estadistika sa gidaghanon sa mga file sa usa sa among mga 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

Ang prinsipyo sa pfcache mao ang mosunod:
β€’ Ang user-space daemon nga si Pfcached nagsulat sa sha-1 hash sa file ngadto sa xattr attribute niini nga file. Dili tanan nga mga file giproseso, apan sa / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 nga mga direktoryo lamang

β€’ Lagmit nga ang mga file niini nga mga direktoryo "gipaambit" ug gamiton sa daghang mga sudlanan;

β€’ Ang Pfcached matag karon ug unya nagkolekta sa mga estadistika sa pagbasa sa mga file gikan sa kernel, pag-analisar niini, ug pagdugang sa mga file sa cache kung kini gigamit kanunay;

β€’ Kini nga mga direktoryo mahimong lahi ug gi-configure sa mga file sa pag-configure.

β€’ Kung nagbasa sa usa ka file, gisusi kung kini adunay sulud nga piho nga hash sa xattr nga gipalawig nga mga hiyas. Kung kini adunay sulod, ang "kinatibuk-an" nga file giablihan imbes sa sudlanan nga file. Kini nga pagpuli mahitabo nga wala mamatikdi sa container code ug gitago sa kernel;

β€’ Kung nagsulat sa usa ka file, ang hash dili balido. Busa, sa sunod higayon nga ablihan nimo kini, ang container file mismo ang maablihan, ug dili ang cache niini.

Pinaagi sa pagtipig sa gipaambit nga mga file gikan sa /vz/pfcache sa cache sa panid, nakab-ot namon ang pagtipig sa kini nga cache mismo, ingon man ang pagtipig sa IOPS.

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

Ang lista sa VMA alang sa file nagpabilin nga usa (among gi-deduplicate ang memorya) ug dili kaayo kanunay basahon gikan sa disk (pagtipig sa mga iops). Ang among komon nga pondo nahimutang sa usa ka SSD - usa ka dugang nga ganansya sa katulin.

Pananglitan sa pag-cache sa /bin/bash file:

[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

Gikalkula namon ang pagka-epektibo sa paggamit andam na nga script.

Kini nga script moagi sa tanan nga mga sudlanan sa node, pagkalkula sa mga naka-cache nga mga file sa matag sudlanan.

[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

Sa ingon, gikan sa panumduman nagtipig kami mga 40 gigabytes nga mga file sa mga sudlanan; kini i-load gikan sa cache.

Aron kini nga mekanismo molihok nga mas maayo, gikinahanglan nga ibutang ang labing "parehas" nga VPS sa node. Pananglitan, kadtong diin ang user walay root access ug diin ang palibot gikan sa gipakatap nga hulagway gi-configure.

Mahimo nimong i-tune ang pfcache pinaagi sa config file
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE – minimum/maximum nga gidak-on sa file para sa caching
TIMEOUT – timeout tali sa mga pagsulay sa pag-cache

Mahimo nimong tan-awon ang tibuuk nga lista sa mga parameter link.

Source: www.habr.com

Idugang sa usa ka comment