Eitt af markmiðum hýsingaraðilans er að hámarka nýtingu núverandi búnaðar til að veita endanotendum hágæða þjónustu. Aðföng endaþjóna eru alltaf takmörkuð, en fjöldi hýstra viðskiptavinaþjónustu, og í okkar tilfelli erum við að tala um VPS, getur verið verulega mismunandi. Lestu um hvernig á að klifra í trénu og borða hamborgara undir skerinu.
Að þjappa VPS á hnút á þann hátt að viðskiptavinum finnst það alls ekki hjálpar til við að auka efnahagslega frammistöðu hvers hýsingaraðila. Auðvitað ætti hnútur ekki að springa í saumana ef hann er troðfullur af ílátum og allir viðskiptavinir finna strax fyrir hvers kyns aukningu á álagi.
Hversu mörg VPS er hægt að hýsa á einum hnút fer eftir mörgum þáttum, svo augljósum eins og:
1. Eiginleikar vélbúnaðar hnútsins sjálfs
2. VPS stærð
3. Eðli álags á VPS
4. Hugbúnaðartækni sem hjálpar til við að hámarka þéttleika
Í þessu tilviki munum við deila reynslu okkar af notkun Pfcache tækni fyrir Virtuozzo.
Við notum 6. grein, en allt sem sagt er á líka við um 7. grein.
Í raun samanstendur það af:
1. Kjarnakóði
2. User-space púki
3. Notendarýmisveitur
Á hnúthliðinni úthlutum við heilum hluta þar sem skrár verða búnar til sem verða notaðar beint af öllum VPS á hnútnum. Block ploop tæki er fest í þessum hluta. Síðan, þegar ílátið byrjar, fær það tilvísun fyrir þennan hluta:
[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
...
Hér eru áætluð tölfræði um fjölda skráa á einum af hnútunum okkar:
[root@pcs13 ~]# find /vz/pfcache -type f | wc -l
45851
[root@pcs13 ~]# du -sck -h /vz/pfcache
2.4G /vz/pfcache
2.4G total
Meginreglan um pfcache er sem hér segir:
• Notendarýmispúkinn Pfcached skrifar sha-1 kjötkássa skráarinnar í xattr eiginleika þessarar skráar. Ekki eru allar skrár unnar, heldur aðeins í /usr, /bin, /usr/sbin, /sbin, /lib, /lib64 möppunum
• Líklegast er að skrárnar í þessum möppum verði "samnýtt" og verði notaðar af nokkrum gámum;
• Pfcached safnar reglulega tölfræði um lestur skráa úr kjarnanum, greinir hana og bætir skrám við skyndiminni ef þær eru notaðar oft;
• Þessar möppur geta verið mismunandi og eru stilltar í stillingarskrám.
• Þegar skrá er lesin er athugað hvort hún innihaldi tilgreint kjötkássa í xattr útvíkkuðu eigindunum. Ef hún inniheldur er „almenna“ skráin opnuð í stað gámaskrárinnar. Þessi skipting á sér stað án þess að gámakóðann tekur eftir og er falin í kjarnanum;
• Þegar skrifað er í skrá er hassið ógilt. Þannig næst þegar þú opnar hana verður gámaskráin sjálf opnuð en ekki skyndiminni hennar.
Með því að geyma samnýttar skrár frá /vz/pfcache í síðu skyndiminni náum við sparnaði í þessu skyndiminni sjálfu, sem og sparnaði í IOPS Í stað þess að lesa tíu skrár af diski lesum við eina sem fer strax í síðu skyndiminni.
struct inode {
...
struct file *i_peer_file;
...
};
struct address_space {
...
struct list_head i_peer_list;
...
}
VMA listinn fyrir skrána er einn (við aftöldum minni) og er lesinn af diski sjaldnar (sparar iops). Sameiginlegur sjóður okkar er staðsettur á SSD - auka hraðaaukning.
Dæmi um að vista /bin/bash skrána í skyndiminni:
[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
Við reiknum út hagkvæmni notkunar
Þetta handrit fer í gegnum alla gáma á hnútnum og reiknar út skyndiminni skrár hvers gáms.
[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
Þannig vistum við úr minni um 40 gígabæta af skrám í gámum; þær verða hlaðnar úr skyndiminni.
Til að þetta vélbúnaður virki enn betur er nauðsynlegt að setja „samsömustu“ VPS á hnútinn. Til dæmis, þær sem notandinn hefur ekki rótaraðgang að og þar sem umhverfið frá uppsettu myndinni er stillt á.
Þú getur stillt pfcache í gegnum stillingarskrána
/etc/vz/pfcache.conf
MINSIZE, MAXSIZE – lágmarks-/hámarksskráarstærð fyrir skyndiminni
TIMEOUT – tími á milli tilrauna í skyndiminni
Þú getur skoðað allan lista yfir færibreytur
Heimild: www.habr.com