Kuongeza msongamano wa chombo kwenye nodi kwa kutumia teknolojia ya PFCACHE

Kuongeza msongamano wa chombo kwenye nodi kwa kutumia teknolojia ya PFCACHE

Moja ya malengo ya mtoa huduma mwenyeji ni kuongeza matumizi ya vifaa vilivyopo ili kutoa huduma ya ubora wa juu kwa watumiaji wa mwisho. Rasilimali za seva za mwisho daima ni mdogo, lakini idadi ya huduma za mteja mwenyeji, na kwa upande wetu tunazungumzia VPS, inaweza kutofautiana kwa kiasi kikubwa. Soma kuhusu jinsi ya kupanda mti na kula burger chini ya kata.

Kuunganisha VPS kwenye nodi kwa njia ambayo wateja hawahisi kabisa husaidia sana kuongeza utendaji wa kiuchumi wa mtoa huduma yeyote mwenyeji. Kwa kweli, nodi haipaswi kupasuka kwenye seams ikiwa imejaa vyombo, na kuongezeka yoyote kwa mzigo huhisiwa mara moja na wateja wote.

Ni VPS ngapi zinaweza kukaribishwa kwenye nodi moja inategemea mambo mengi, kama vile:

1. Tabia za vifaa vya node yenyewe
2. Ukubwa wa VPS
3. Hali ya mzigo kwenye VPS
4. Teknolojia za programu zinazosaidia kuongeza msongamano

Katika hali hii, tutashiriki uzoefu wetu wa kutumia teknolojia ya Pfcache kwa Virtuozzo.
Tunatumia tawi la 6, lakini kila kitu kilichosemwa pia ni kweli kwa 7.

Pfcache - utaratibu wa Virtuozzo ambao husaidia kutoa nakala za IOPS na RAM kwenye vyombo, kugawa faili zinazofanana kwenye vyombo kwenye eneo tofauti la kawaida.

Kwa kweli inajumuisha:
1. Msimbo wa Kernel
2. Pepo wa nafasi ya mtumiaji
3. Huduma za nafasi ya mtumiaji

Kwa upande wa node, tunatenga sehemu nzima ambayo faili zitaundwa ambazo zitatumiwa moja kwa moja na VPS zote kwenye node. Kifaa cha kuzuia kuzuia kimewekwa katika sehemu hii. Halafu, chombo kinapoanza, hupokea rejeleo la sehemu hii:

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

Hapa kuna takwimu za takriban juu ya idadi ya faili kwenye moja ya nodi zetu:

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

Kanuni ya pfcache ni kama ifuatavyo:
β€’ Daemon ya nafasi ya mtumiaji Pfcached huandika heshi sha-1 ya faili kwa sifa ya xattr ya faili hii. Sio faili zote zinazochakatwa, lakini katika saraka tu /usr, /bin, /usr/sbin, /sbin, /lib, /lib64.

β€’ Kuna uwezekano mkubwa kwamba faili katika saraka hizi "zitashirikiwa" na zitatumiwa na vyombo kadhaa;

β€’ Pfcached hukusanya mara kwa mara takwimu za kusoma faili kutoka kwenye kernel, kuzichanganua, na kuongeza faili kwenye akiba ikiwa zinatumiwa mara kwa mara;

β€’ Saraka hizi zinaweza kuwa tofauti na zimesanidiwa katika faili za usanidi.

β€’ Wakati wa kusoma faili, inaangaliwa kama ina heshi iliyobainishwa katika xattr sifa zilizopanuliwa. Ikiwa ina, faili ya "jumla" inafunguliwa badala ya faili ya chombo. Ubadilishaji huu hutokea bila kutambuliwa na msimbo wa chombo na umefichwa kwenye kernel;

β€’ Wakati wa kuandikia faili, heshi ni batili. Kwa hivyo, wakati ujao unapoifungua, faili ya chombo yenyewe itafunguliwa, na sio cache yake.

Kwa kuweka faili zilizoshirikiwa kutoka /vz/pfcache kwenye cache ya ukurasa, tunafikia akiba katika cache hii yenyewe, pamoja na akiba katika IOPS.Badala ya kusoma faili kumi kutoka kwa diski, tunasoma moja, ambayo mara moja huenda kwenye cache ya ukurasa.

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

Orodha ya VMA ya faili inabaki moja (tunaondoa kumbukumbu) na inasomwa kutoka kwa diski mara chache (kuokoa iops). Mfuko wetu wa kawaida iko kwenye SSD - faida ya ziada kwa kasi.

Mfano wa kuakibisha /bin/bash faili:

[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

Tunahesabu ufanisi wa matumizi maandishi tayari.

Hati hii inapitia vyombo vyote kwenye nodi, kuhesabu faili zilizohifadhiwa za kila chombo.

[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

Kwa hivyo, kutoka kwa kumbukumbu tunaokoa kama gigabytes 40 za faili kwenye vyombo; zitapakiwa kutoka kwa kache.

Ili utaratibu huu ufanye kazi vizuri zaidi, ni muhimu kuweka VPS "inayofanana" zaidi kwenye node. Kwa mfano, zile ambazo mtumiaji hana ufikiaji wa mizizi na ambayo mazingira kutoka kwa picha iliyotumiwa husanidiwa.

Unaweza kurekebisha pfcache kupitia faili ya usanidi
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - kiwango cha chini/kiwango cha juu zaidi cha faili kwa kuakibishwa
TIMEOUT - muda umeisha kati ya majaribio ya kuweka akiba

Unaweza kutazama orodha kamili ya vigezo ΠΏΠΎ ссылкС.

Chanzo: mapenzi.com

Kuongeza maoni