Ngaronjatkeun kapadetan wadahna dina titik nganggo téknologi PFCACHE

Ngaronjatkeun kapadetan wadahna dina titik nganggo téknologi PFCACHE

Salah sahiji tujuan panyadia hosting nyaéta pikeun maksimalkeun pamanfaatan alat-alat anu tos aya pikeun nyayogikeun jasa kualitas luhur ka pangguna akhir. Sumberdaya pangladén tungtung sok kawates, tapi jumlah jasa klien hosted, sarta dina hal urang ngobrol ngeunaan VPS, bisa béda sacara signifikan. Baca ngeunaan kumaha carana naek tangkal jeung dahar burger handapeun cut nu.

Compacting VPS dina titik dina cara sapertos nu klien teu ngarasa eta pisan greatly mantuan pikeun ngaronjatkeun kinerja ékonomi tina sagala panyadia hosting. Tangtosna, titik henteu kedah ngabeledug dina seams upami dipencet pinuh ku peti, sareng naon waé surge dina beban langsung dirasakeun ku sadaya klien.

Sabaraha VPS tiasa di-host dina hiji titik gumantung kana sababaraha faktor, sapertos anu atra sapertos:

1. Ciri tina hardware tina titik sorangan
2. Ukuran VPS
3. Sifat beban dina VPS
4. Téknologi parangkat lunak anu ngabantosan ngaoptimalkeun kapadetan

Dina hal ieu, urang bakal babagi pangalaman urang ngagunakeun téhnologi Pfcache pikeun Virtuozzo.
Urang make cabang 6, tapi sagalana ceuk ogé bener keur 7.

Pfcache - mékanisme Virtuozzo nu mantuan deduplikat IOPS jeung RAM dina peti, allocating file idéntik dina peti kana wewengkon umum misah.

Kanyataanna diwangun ku:
1. Kode kernel
2. Pamaké-spasi sétan
3. Utiliti pamaké-spasi

Dina sisi titik, urang allocate sakabeh bagian nu file bakal dijieun nu bakal langsung dipaké ku sakabeh VPS on node. Alat blok ploop dipasang dina bagian ieu. Teras, nalika wadahna dimimitian, éta nampi rujukan pikeun bagian ieu:

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

Ieu perkiraan statistik ngeunaan jumlah file dina salah sahiji titik kami:

[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 nyaéta kieu:
• Daemon spasi-pamaké Pfcached nyerat sha-1 hash file kana atribut xattr file ieu. Henteu sakabéh file diolah, tapi ngan dina / usr, / bin, / usr / sbin, / sbin, / lib, / lib64 directories

• Paling dipikaresep yén file dina directories ieu bakal "dibagikeun" sarta bakal dipaké ku sababaraha peti;

• Pfcached périodik ngumpulkeun statistik dina maca file ti kernel, nganalisa eta, sarta nambahkeun file ka cache lamun aranjeunna mindeng dipaké;

• directories ieu bisa jadi béda jeung ngonpigurasi dina file konfigurasi.

• Nalika maca file, éta dipariksa naha éta ngandung hash dieusian dina atribut nambahan xattr. Upami ngandung, file "umum" dibuka tibatan file wadahna. substitusi ieu lumangsung unnoticed ku kode wadahna sarta disumputkeun dina kernel;

• Nalika nulis kana file, hash ieu invalidated. Ku kituna, dina waktos salajengna basa Anjeun mukakeunana, file wadahna sorangan bakal dibuka, teu cache na.

Ku ngajaga payil dibagikeun ti /vz/pfcache dina cache kaca, urang ngahontal tabungan dina cache ieu sorangan, kitu ogé tabungan di IOPS. Gantina maca sapuluh file tina disk, urang maca hiji, nu langsung indit ka cache kaca.

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

Daptar VMA pikeun file tetep tunggal (urang deduplicate memori) jeung dibaca tina disk kirang sering (nyimpen iops). Dana umum urang aya dina SSD - gain tambahan dina speed.

Conto pikeun cache 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

Urang ngitung efisiensi pamakéan naskah anu siap-siap.

Skrip ieu ngaliwat sadaya wadah dina node, ngitung file anu disimpen dina unggal wadah.

[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

Janten, tina mémori urang ngahémat sakitar 40 gigabyte file dina wadahna; aranjeunna bakal dimuat tina cache.

Pikeun mékanisme ieu tiasa dianggo langkung saé, peryogi nempatkeun VPS anu paling "idéntik" dina titik. Salaku conto, anu pangguna henteu gaduh aksés root sareng lingkungan dimana gambar anu dipasang dikonpigurasi.

Anjeun tiasa nyetél pfcache ngaliwatan file config
/etc/vz/pfcache.conf

MINSIZE, MAXSIZE - ukuran file minimum / maksimum pikeun cache
TIMEOUT - seep antara usaha cache

Anjeun tiasa ningali daptar lengkep parameter link.

sumber: www.habr.com

Tambahkeun komentar