Nambah Kapadhetan wadhah ing simpul nggunakake teknologi PFCACHE

Nambah Kapadhetan wadhah ing simpul nggunakake teknologi PFCACHE

Salah sawijining tujuan panyedhiya hosting yaiku ngoptimalake panggunaan peralatan sing wis ana kanggo nyedhiyakake layanan berkualitas tinggi kanggo pangguna pungkasan. Sumber daya server pungkasan tansah diwatesi, nanging jumlah layanan klien sing di-host, lan ing kasus kita ngomong babagan VPS, bisa beda-beda sacara signifikan. Waca babagan carane menek wit lan mangan burger ing ngisor potong.

Compacting VPS ing simpul kanthi cara sing klien ora ngrasakake banget mbantu nambah kinerja ekonomi saka panyedhiya hosting. Mesthi, simpul kudu ora bledosan ing lapisan yen crammed kebak kontaner, lan sembarang mundhak ing mbukak langsung felt dening kabeh klien.

Pira VPS sing bisa di-host ing siji simpul gumantung saka akeh faktor, kayata:

1. Karakteristik hardware saka simpul dhewe
2. ukuran VPS
3. Sifat beban ing VPS
4. Teknologi piranti lunak sing mbantu ngoptimalake kapadhetan

Ing kasus iki, kita bakal nuduhake pengalaman nggunakake teknologi Pfcache kanggo Virtuozzo.
Kita nggunakake cabang 6, nanging kabeh ngandika uga bener kanggo 7.

Pfcache - mekanisme Virtuozzo sing mbantu deduplikat IOPS lan RAM ing kontaner, nyediakake file sing padha ing wadhah menyang area umum sing kapisah.

Sejatine kasusun saka:
1. Kode kernel
2. Pangguna-ruang setan
3. Utilitas pangguna-ruang

Ing sisih simpul, kita nyedhiyakake kabeh bagean ing ngendi file bakal digawe sing bakal langsung digunakake dening kabeh VPS ing simpul. Piranti blok ploop dipasang ing bagean iki. Banjur, nalika wadhah diwiwiti, bakal nampa referensi kanggo bagean iki:

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

Mangkene kira-kira statistik babagan jumlah file ing salah sawijining simpul:

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

Prinsip pfcache kaya ing ngisor iki:
β€’ Daemon ruang pangguna Pfcached nulis hash sha-1 file menyang atribut xattr file iki. Ora kabeh file diproses, nanging mung ing direktori / usr, / bin, / usr / sbin, / sbin, / lib, / lib64.

β€’ Paling kamungkinan, file ing direktori kasebut bakal "dituduhake" lan bakal digunakake dening sawetara wadhah;

β€’ Pfcached sacara periodik nglumpukake statistik babagan maca file saka kernel, nganalisa, lan nambah file menyang cache yen asring digunakake;

β€’ Direktori iki bisa uga beda lan dikonfigurasi ing file konfigurasi.

β€’ Nalika maca file, dicenthang apa ngemot hash kasebut ing atribut xattr ditambahi. Yen ngemot, file "umum" dibukak tinimbang file wadhah. Substitusi iki kedadeyan tanpa diweruhi dening kode wadhah lan didhelikake ing kernel;

β€’ Nalika nulis menyang file, hash ora valid. Mangkono, nalika sampeyan mbukak, file wadhah dhewe bakal dibukak, lan dudu cache.

Kanthi nyimpen file sing dienggo bareng saka /vz/pfcache ing cache kaca, kita entuk tabungan ing cache iki dhewe, uga tabungan ing IOPS. Tinimbang maca sepuluh file saka disk, kita maca siji, sing langsung menyang cache kaca.

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

Dhaptar VMA file tetep siji (kita deduplicate memori) lan maca saka disk kurang asring (nyimpen iops). Dana umum kita dumunung ing SSD - gain tambahan ing kacepetan.

Conto kanggo caching file /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

Kita ngetung efisiensi panggunaan script siap-digawe.

Skrip iki ngliwati kabeh wadhah ing simpul, ngetung file cache saben wadhah.

[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

Mangkono, saka memori kita nyimpen udakara 40 gigabyte file ing wadhah, bakal dimuat saka cache.

Kanggo mekanisme iki bisa luwih apik, perlu kanggo nyelehake VPS paling "identik" ing simpul. Contone, sing pangguna ora duwe akses root lan lingkungan saka gambar sing wis dikonfigurasi.

Sampeyan bisa nyetel pfcache liwat file konfigurasi
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - ukuran file minimal / maksimal kanggo caching
TIMEOUT - wektu entek antarane upaya caching

Sampeyan bisa ndeleng dhaptar lengkap paramèter link.

Source: www.habr.com

Add a comment