Un o nodau'r darparwr cynnal yw gwneud y defnydd gorau o offer presennol er mwyn darparu gwasanaeth o ansawdd uchel i ddefnyddwyr terfynol. Mae adnoddau gweinyddwyr terfynol bob amser yn gyfyngedig, ond gall nifer y gwasanaethau cleientiaid a gynhelir, ac yn ein hachos ni rydym yn siarad am VPS, amrywio'n sylweddol. Darllenwch sut i ddringo'r goeden a bwyta byrgyr o dan y toriad.
Mae cywasgu VPS ar nod yn y fath fodd fel nad yw cleientiaid yn teimlo ei fod o gwbl yn helpu'n fawr i gynyddu perfformiad economaidd unrhyw ddarparwr cynnal. Wrth gwrs, ni ddylai nod fyrstio ar y gwythiennau os yw'n orlawn o gynwysyddion, ac mae unrhyw ymchwydd mewn llwyth yn cael ei deimlo ar unwaith gan bob cleient.
Mae faint o VPS y gellir ei gynnal ar un nod yn dibynnu ar lawer o ffactorau, rhai amlwg fel:
1. Nodweddion caledwedd y nod ei hun
2. VPS maint
3. Natur y llwyth ar y VPS
4. Technolegau meddalwedd sy'n helpu i optimeiddio dwysedd
Yn yr achos hwn, byddwn yn rhannu ein profiad o ddefnyddio technoleg Pfcache ar gyfer Virtuozzo.
Defnyddiwn y 6ed cangen, ond mae popeth a ddywedir hefyd yn wir am y 7fed.
Mewn gwirionedd mae'n cynnwys:
1. Cod cnewyllyn
2. Defnyddiwr-gofod cythraul
3. Cyfleustodau defnyddiwr-gofod
Ar ochr y nod, rydym yn dyrannu adran gyfan lle bydd ffeiliau'n cael eu creu a fydd yn cael eu defnyddio'n uniongyrchol gan bob VPS ar y nod. Mae dyfais ploop bloc wedi'i gosod yn yr adran hon. Yna, pan fydd y cynhwysydd yn cychwyn, mae'n derbyn cyfeiriad ar gyfer yr adran hon:
[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
...
Dyma ystadegau bras ar nifer y ffeiliau ar un o'n nodau:
[root@pcs13 ~]# find /vz/pfcache -type f | wc -l
45851
[root@pcs13 ~]# du -sck -h /vz/pfcache
2.4G /vz/pfcache
2.4G total
Mae egwyddor pfcache fel a ganlyn:
β’ Mae'r ellyll gofod defnyddiwr Pfcached yn ysgrifennu hash sha-1 y ffeil i briodwedd xattr y ffeil hon. Nid yw pob ffeil yn cael ei phrosesu, ond dim ond yn y cyfeiriaduron / usr, / bin, / usr / sbin, /sbin, /lib, /lib64
β’ Mae'n fwyaf tebygol y bydd y ffeiliau yn y cyfeiriaduron hyn yn cael eu βrhannuβ ac yn cael eu defnyddio gan sawl cynhwysydd;
β’ Mae Pfcached o bryd i'w gilydd yn casglu ystadegau ar ddarllen ffeiliau o'r cnewyllyn, yn ei ddadansoddi, ac yn ychwanegu ffeiliau i'r storfa os cΓ’nt eu defnyddio'n aml;
β’ Gall y cyfeiriaduron hyn fod yn wahanol ac maent wedi'u ffurfweddu mewn ffeiliau ffurfweddu.
β’ Wrth ddarllen ffeil, mae'n cael ei wirio a yw'n cynnwys yr hash penodedig yn y priodoleddau estynedig xattr. Os yw'n cynnwys, agorir y ffeil βcyffredinolβ yn lle'r ffeil cynhwysydd. Mae'r amnewid hwn yn digwydd heb i god y cynhwysydd sylwi arno ac mae wedi'i guddio yn y cnewyllyn;
β’ Wrth ysgrifennu at ffeil, mae'r hash yn cael ei annilysu. Felly, y tro nesaf y byddwch chi'n ei agor, bydd y ffeil cynhwysydd ei hun yn cael ei hagor, ac nid ei storfa.
Trwy gadw ffeiliau a rennir o /vz/pfcache yn y celc tudalen, rydym yn cyflawni arbedion yn y storfa hon ei hun, yn ogystal ag arbedion yn IOPS.Yn lle darllen deg ffeil oddi ar ddisg, rydym yn darllen un, sy'n mynd yn syth i'r storfa dudalen.
struct inode {
...
struct file *i_peer_file;
...
};
struct address_space {
...
struct list_head i_peer_list;
...
}
Mae'r rhestr VMA ar gyfer y ffeil yn aros yn sengl (rydym yn dad-ddyblygu cof) ac yn cael ei darllen o ddisg yn llai aml (arbed iops). Mae ein cronfa gyffredin wedi'i lleoli ar SSD - cynnydd ychwanegol mewn cyflymder.
Enghraifft ar gyfer storio'r ffeil / 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
Rydym yn cyfrifo effeithlonrwydd y defnydd
Mae'r sgript hon yn mynd trwy'r holl gynwysyddion ar y nod, gan gyfrifo'r ffeiliau sydd wedi'u storio ym mhob cynhwysydd.
[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
Felly, o'r cof rydym yn arbed tua 40 gigabeit o ffeiliau mewn cynwysyddion; byddant yn cael eu llwytho o'r storfa.
Er mwyn i'r mecanwaith hwn weithio'n well fyth, mae angen gosod y VPS mwyaf βunionβ ar y nod. Er enghraifft, y rhai nad oes gan y defnyddiwr fynediad gwraidd iddynt ac y mae'r amgylchedd o'r ddelwedd a ddefnyddir wedi'i ffurfweddu arnynt.
Gallwch diwnio pfcache trwy'r ffeil ffurfweddu
/etc/vz/pfcache.conf
MINSIZE, MAXSIZE - maint ffeil lleiaf / mwyaf ar gyfer caching
AMSER ALLAN β goramser rhwng ymdrechion celcio
Gallwch weld y rhestr lawn o baramedrau
Ffynhonnell: hab.com