PFCACHE ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಂಡು ನೋಡ್‌ನಲ್ಲಿ ಕಂಟೇನರ್ ಸಾಂದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದು

PFCACHE ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಂಡು ನೋಡ್‌ನಲ್ಲಿ ಕಂಟೇನರ್ ಸಾಂದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದು

ಅಂತಿಮ ಬಳಕೆದಾರರಿಗೆ ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಸೇವೆಯನ್ನು ಒದಗಿಸಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಉಪಕರಣಗಳ ಬಳಕೆಯನ್ನು ಗರಿಷ್ಠಗೊಳಿಸುವುದು ಹೋಸ್ಟಿಂಗ್ ಪೂರೈಕೆದಾರರ ಗುರಿಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಅಂತಿಮ ಸರ್ವರ್‌ಗಳ ಸಂಪನ್ಮೂಲಗಳು ಯಾವಾಗಲೂ ಸೀಮಿತವಾಗಿವೆ, ಆದರೆ ಹೋಸ್ಟ್ ಮಾಡಿದ ಕ್ಲೈಂಟ್ ಸೇವೆಗಳ ಸಂಖ್ಯೆ, ಮತ್ತು ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು VPS ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ, ಗಮನಾರ್ಹವಾಗಿ ಭಿನ್ನವಾಗಿರಬಹುದು. ಮರವನ್ನು ಹತ್ತುವುದು ಮತ್ತು ಕಟ್ ಅಡಿಯಲ್ಲಿ ಬರ್ಗರ್ ತಿನ್ನುವುದು ಹೇಗೆ ಎಂದು ಓದಿ.

ಗ್ರಾಹಕರು ಅದನ್ನು ಅನುಭವಿಸದ ರೀತಿಯಲ್ಲಿ ನೋಡ್‌ನಲ್ಲಿ VPS ಅನ್ನು ಸಂಕ್ಷೇಪಿಸುವುದು ಯಾವುದೇ ಹೋಸ್ಟಿಂಗ್ ಪೂರೈಕೆದಾರರ ಆರ್ಥಿಕ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸಹಜವಾಗಿ, ಒಂದು ನೋಡ್ ಕಂಟೇನರ್‌ಗಳಿಂದ ತುಂಬಿದ್ದರೆ ಅದು ಸ್ತರಗಳಲ್ಲಿ ಸಿಡಿಯಬಾರದು ಮತ್ತು ಲೋಡ್‌ನಲ್ಲಿ ಯಾವುದೇ ಉಲ್ಬಣವು ತಕ್ಷಣವೇ ಎಲ್ಲಾ ಕ್ಲೈಂಟ್‌ಗಳಿಂದ ಅನುಭವಿಸಲ್ಪಡುತ್ತದೆ.

ಒಂದು ನೋಡ್‌ನಲ್ಲಿ ಎಷ್ಟು VPS ಅನ್ನು ಹೋಸ್ಟ್ ಮಾಡಬಹುದು ಎಂಬುದು ಹಲವು ಅಂಶಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ ಸ್ಪಷ್ಟವಾದವುಗಳು:

1. ನೋಡ್‌ನ ಯಂತ್ರಾಂಶದ ಗುಣಲಕ್ಷಣಗಳು
2. VPS ಗಾತ್ರ
3. VPS ನಲ್ಲಿನ ಹೊರೆಯ ಸ್ವರೂಪ
4. ಸಾಂದ್ರತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುವ ಸಾಫ್ಟ್‌ವೇರ್ ತಂತ್ರಜ್ಞಾನಗಳು

ಈ ಸಂದರ್ಭದಲ್ಲಿ, Virtuozzo ಗಾಗಿ Pfcache ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುವ ನಮ್ಮ ಅನುಭವವನ್ನು ನಾವು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ.
ನಾವು 6 ನೇ ಶಾಖೆಯನ್ನು ಬಳಸುತ್ತೇವೆ, ಆದರೆ ಹೇಳಿದ್ದೆಲ್ಲವೂ 7 ನೆಯದು ನಿಜ.

Pfcache - ಕಂಟೈನರ್‌ಗಳಲ್ಲಿ IOPS ಮತ್ತು RAM ಅನ್ನು ನಕಲು ಮಾಡಲು ಸಹಾಯ ಮಾಡುವ Virtuozzo ಯಾಂತ್ರಿಕ ವ್ಯವಸ್ಥೆ, ಧಾರಕಗಳಲ್ಲಿ ಒಂದೇ ರೀತಿಯ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಸಾಮಾನ್ಯ ಪ್ರದೇಶಕ್ಕೆ ನಿಯೋಜಿಸುತ್ತದೆ.

ವಾಸ್ತವವಾಗಿ ಇದು ಒಳಗೊಂಡಿದೆ:
1. ಕರ್ನಲ್ ಕೋಡ್
2. ಯೂಸರ್-ಸ್ಪೇಸ್ ಭೂತ
3. ಬಳಕೆದಾರ-ಸ್ಥಳದ ಉಪಯುಕ್ತತೆಗಳು

ನೋಡ್ ಬದಿಯಲ್ಲಿ, ನೋಡ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ VPS ನಿಂದ ನೇರವಾಗಿ ಬಳಸಲಾಗುವ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸುವ ಸಂಪೂರ್ಣ ವಿಭಾಗವನ್ನು ನಾವು ನಿಯೋಜಿಸುತ್ತೇವೆ. ಈ ವಿಭಾಗದಲ್ಲಿ ಬ್ಲಾಕ್ ಪ್ಲೂಪ್ ಸಾಧನವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ನಂತರ, ಕಂಟೇನರ್ ಪ್ರಾರಂಭವಾದಾಗ, ಅದು ಈ ವಿಭಾಗಕ್ಕೆ ಉಲ್ಲೇಖವನ್ನು ಪಡೆಯುತ್ತದೆ:

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

ನಮ್ಮ ನೋಡ್‌ಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿರುವ ಫೈಲ್‌ಗಳ ಸಂಖ್ಯೆಯ ಅಂದಾಜು ಅಂಕಿಅಂಶಗಳು ಇಲ್ಲಿವೆ:

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

pfcache ತತ್ವವು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:
• ಯೂಸರ್-ಸ್ಪೇಸ್ ಡೀಮನ್ Pfcached ಈ ಫೈಲ್‌ನ xattr ಗುಣಲಕ್ಷಣಕ್ಕೆ ಫೈಲ್‌ನ sha-1 ಹ್ಯಾಶ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ. ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿಲ್ಲ, ಆದರೆ /usr, /bin, /usr/sbin, /sbin, /lib, /lib64 ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಮಾತ್ರ

• ಈ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿನ ಫೈಲ್‌ಗಳನ್ನು "ಹಂಚಿಕೊಳ್ಳಲಾಗುವುದು" ಮತ್ತು ಹಲವಾರು ಕಂಟೈನರ್‌ಗಳಿಂದ ಬಳಸಲಾಗುವುದು;

• Pfcached ನಿಯತಕಾಲಿಕವಾಗಿ ಕರ್ನಲ್‌ನಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಓದುವ ಅಂಕಿಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಅದನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತದೆ ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಆಗಾಗ್ಗೆ ಬಳಸಿದರೆ ಸಂಗ್ರಹಕ್ಕೆ ಸೇರಿಸುತ್ತದೆ;

• ಈ ಡೈರೆಕ್ಟರಿಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ.

• ಫೈಲ್ ಅನ್ನು ಓದುವಾಗ, ಅದು xattr ವಿಸ್ತೃತ ಗುಣಲಕ್ಷಣಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಹ್ಯಾಶ್ ಅನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಅದು ಹೊಂದಿದ್ದರೆ, ಕಂಟೇನರ್ ಫೈಲ್ ಬದಲಿಗೆ "ಸಾಮಾನ್ಯ" ಫೈಲ್ ಅನ್ನು ತೆರೆಯಲಾಗುತ್ತದೆ. ಈ ಪರ್ಯಾಯವು ಕಂಟೇನರ್ ಕೋಡ್‌ನಿಂದ ಗಮನಿಸದೆ ಸಂಭವಿಸುತ್ತದೆ ಮತ್ತು ಕರ್ನಲ್‌ನಲ್ಲಿ ಮರೆಮಾಡಲಾಗಿದೆ;

• ಫೈಲ್‌ಗೆ ಬರೆಯುವಾಗ, ಹ್ಯಾಶ್ ಅನ್ನು ಅಮಾನ್ಯಗೊಳಿಸಲಾಗುತ್ತದೆ. ಹೀಗಾಗಿ, ಮುಂದಿನ ಬಾರಿ ನೀವು ಅದನ್ನು ತೆರೆದಾಗ, ಕಂಟೇನರ್ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅದರ ಸಂಗ್ರಹವಲ್ಲ.

ಪುಟದ ಸಂಗ್ರಹದಲ್ಲಿ /vz/pfcache ನಿಂದ ಹಂಚಿಕೊಂಡ ಫೈಲ್‌ಗಳನ್ನು ಇರಿಸುವ ಮೂಲಕ, ನಾವು ಈ ಸಂಗ್ರಹದಲ್ಲಿಯೇ ಉಳಿತಾಯವನ್ನು ಸಾಧಿಸುತ್ತೇವೆ, ಹಾಗೆಯೇ IOPS ನಲ್ಲಿ ಉಳಿತಾಯವನ್ನು ಸಾಧಿಸುತ್ತೇವೆ. ಡಿಸ್ಕ್‌ನಿಂದ ಹತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಓದುವ ಬದಲು, ನಾವು ಒಂದನ್ನು ಓದುತ್ತೇವೆ, ಅದು ತಕ್ಷಣವೇ ಪುಟ ಸಂಗ್ರಹಕ್ಕೆ ಹೋಗುತ್ತದೆ.

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

ಫೈಲ್‌ಗಾಗಿ VMA ಪಟ್ಟಿಯು ಒಂದೇ ಆಗಿರುತ್ತದೆ (ನಾವು ಮೆಮೊರಿಯನ್ನು ಡಿಡ್ಯೂಪ್ಲಿಕೇಟ್ ಮಾಡುತ್ತೇವೆ) ಮತ್ತು ಡಿಸ್ಕ್‌ನಿಂದ ಕಡಿಮೆ ಬಾರಿ ಓದಲಾಗುತ್ತದೆ (ಐಒಪಿಗಳನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ). ನಮ್ಮ ಸಾಮಾನ್ಯ ನಿಧಿಯು SSD ಯಲ್ಲಿದೆ - ವೇಗದಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಲಾಭ.

/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

ನಾವು ಬಳಕೆಯ ದಕ್ಷತೆಯನ್ನು ಲೆಕ್ಕ ಹಾಕುತ್ತೇವೆ ಸಿದ್ಧ ಸ್ಕ್ರಿಪ್ಟ್.

ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನೋಡ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಕಂಟೈನರ್‌ಗಳ ಮೂಲಕ ಹೋಗುತ್ತದೆ, ಪ್ರತಿ ಕಂಟೇನರ್‌ನ ಕ್ಯಾಶ್ ಮಾಡಿದ ಫೈಲ್‌ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ.

[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

ಹೀಗಾಗಿ, ಮೆಮೊರಿಯಿಂದ ನಾವು ಸುಮಾರು 40 ಗಿಗಾಬೈಟ್ ಫೈಲ್‌ಗಳನ್ನು ಕಂಟೇನರ್‌ಗಳಲ್ಲಿ ಉಳಿಸುತ್ತೇವೆ; ಅವುಗಳನ್ನು ಸಂಗ್ರಹದಿಂದ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.

ಈ ಕಾರ್ಯವಿಧಾನವು ಇನ್ನೂ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು, ನೋಡ್ನಲ್ಲಿ ಹೆಚ್ಚು "ಒಂದೇ" VPS ಅನ್ನು ಇರಿಸಲು ಇದು ಅವಶ್ಯಕವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಬಳಕೆದಾರರು ರೂಟ್ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ನಿಯೋಜಿಸಲಾದ ಚಿತ್ರದಿಂದ ಪರಿಸರವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ.

ನೀವು ಕಾನ್ಫಿಗರ್ ಫೈಲ್ ಮೂಲಕ pfcache ಅನ್ನು ಟ್ಯೂನ್ ಮಾಡಬಹುದು
/etc/vz/pfcache.conf

ಕಡಿಮೆಗೊಳಿಸು, ಗರಿಷ್ಠ ಗಾತ್ರ - ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಲು ಕನಿಷ್ಠ/ಗರಿಷ್ಠ ಫೈಲ್ ಗಾತ್ರ
TIMEOUT - ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಪ್ರಯತ್ನಗಳ ನಡುವೆ ಸಮಯ ಮೀರಿದೆ

ನೀವು ನಿಯತಾಂಕಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸಬಹುದು ಲಿಂಕ್.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ