Ƙara yawan kwantena akan kumburi ta amfani da fasahar PFCACHE

Ƙara yawan kwantena akan kumburi ta amfani da fasahar PFCACHE

Ɗaya daga cikin manufofin mai ba da sabis shine haɓaka amfani da kayan aikin da ake da su don samar da sabis mai inganci don ƙare masu amfani. Albarkatun sabobin ƙarshen koyaushe suna iyakance, amma adadin sabis na abokin ciniki da aka shirya, kuma a cikin yanayinmu muna magana ne game da VPS, na iya bambanta sosai. Karanta game da yadda ake hawan bishiyar kuma ku ci burger a ƙarƙashin yanke.

Ƙaddamar da VPS a kan kumburi ta hanyar da abokan ciniki ba sa jin shi kwata-kwata yana taimakawa wajen haɓaka aikin tattalin arziki na kowane mai ba da sabis. Tabbas, bai kamata kumburin ya fashe ba idan yana cike da kwantena, kuma duk wani nauyi da ya hau kan duk abokan ciniki nan take.

Nawa VPS za a iya ɗaukar nauyin ku akan kulli ɗaya ya dogara da dalilai da yawa, irin su bayyane kamar:

1. Halaye na hardware na kumburi kanta
2. Girman VPS
3. Yanayin kaya akan VPS
4. Fasahar software waɗanda ke taimakawa haɓaka yawa

A wannan yanayin, za mu raba kwarewarmu ta amfani da fasahar Pfcache don Virtuozzo.
Muna amfani da reshe na 6, amma duk abin da aka fada gaskiya ne ga na 7.

Pfcache - tsarin Virtuozzo wanda ke taimakawa kwafin IOPS da RAM a cikin kwantena, rarraba fayiloli iri ɗaya a cikin kwantena zuwa wani yanki na musamman.

A gaskiya ya ƙunshi:
1. Kernel code
2. Aljanin mai amfani
3. Masu amfani da sararin samaniya

A gefen kumburi, mun keɓe wani yanki gaba ɗaya wanda za a ƙirƙiri fayiloli waɗanda duk VPS za su yi amfani da su kai tsaye a kan kumburi. An ɗora na'urar toshe ploop a wannan sashe. Sa'an nan, lokacin da kwantena ya fara, yana karɓar bayanin wannan sashe:

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

Anan akwai ƙididdigar ƙididdiga akan adadin fayiloli akan ɗayan nodes ɗin mu:

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

Ka'idar pfcache ita ce kamar haka:
• Mai amfani-space daemon Pfcached yana rubuta hash sha-1 na fayil ɗin zuwa sifa ta xattr na wannan fayil. Ba duk fayiloli ana sarrafa su ba, amma a cikin /usr, /bin,/usr/sbin,/sbin,/lib,/lib64 kundayen adireshi.

Zai yuwu cewa fayilolin da ke cikin waɗannan kundayen adireshi za a “raba” kuma kwantena da yawa za su yi amfani da su;

• Pfcached lokaci-lokaci yana tattara ƙididdiga kan karatun fayiloli daga kernel, bincika shi, kuma yana ƙara fayiloli zuwa cache idan ana amfani da su akai-akai;

Waɗannan kundayen adireshi na iya bambanta kuma ana saita su cikin fayilolin sanyi.

• Lokacin karanta fayil, ana bincika ko ya ƙunshi ƙayyadaddun hash a cikin tsawaita halayen xattr. Idan ya ƙunshi, ana buɗe fayil ɗin “gaba ɗaya” maimakon fayil ɗin kwantena. Wannan maye yana faruwa ba tare da an lura da lambar kwantena ba kuma yana ɓoye a cikin kwaya;

• Lokacin rubutawa zuwa fayil, hash ɗin ya lalace. Don haka, lokaci na gaba da ka buɗe shi, fayil ɗin kwantena da kansa za a buɗe, ba cache ɗinsa ba.

Ta hanyar adana fayilolin da aka raba daga /vz/pfcache a cikin cache na shafi, muna samun tanadi a cikin wannan cache kanta, da kuma ajiyar kuɗi a cikin IOPS. Maimakon karanta fayiloli goma daga diski, mun karanta ɗaya, wanda nan da nan ya tafi cache shafin.

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

Jerin VMA na fayil ɗin ya kasance guda ɗaya (muna cire ƙwaƙwalwar ajiya) kuma ana karantawa daga faifai sau da yawa (ajiye iops). Asusun mu gama gari yana kan SSD - ƙarin riba cikin sauri.

Misali don adana /bin/bash fayil:

[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

Muna lissafin ingancin amfani rubutun da aka shirya.

Wannan rubutun yana ratsa duk kwantena akan kumburi, yana ƙididdige fayilolin da aka adana na kowane akwati.

[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

Don haka, daga ƙwaƙwalwar ajiya muna adana kusan gigabytes 40 na fayiloli a cikin kwantena; za a loda su daga cache.

Don wannan tsarin ya yi aiki mafi kyau, ya zama dole don sanya mafi "daidai" VPS akan kumburi. Misali, wadanda mai amfani ba shi da tushen tushen kuma akan abin da aka saita yanayin daga hoton da aka tura.

Kuna iya kunna pfcache ta hanyar fayil ɗin daidaitawa
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE – ƙarami/mafi girman girman fayil don caching
TIMEOUT – ƙarewar lokaci tsakanin yunƙurin cache

Kuna iya duba cikakken jerin sigogi mahada.

source: www.habr.com

Add a comment