ವಾಲ್ಕಿ ಮತ್ತು ರೆಡಿಸ್ ಡಿಬಿಎಂಎಸ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಹೋಲಿಕೆ

Redis 8.0 ಮತ್ತು Valkey 8.1 DBMS ನ ಇತ್ತೀಚಿನ ಬಿಡುಗಡೆಗಳನ್ನು ಪರೀಕ್ಷಿಸುವ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಗಮನಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಘೋಷಿಸಲಾಗಿದೆ. ನಡೆಸಿದ ಎಲ್ಲಾ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ, ಸಮುದಾಯವು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಫೋರ್ಕ್ ಮೂಲ ಯೋಜನೆಯನ್ನು ಮೀರಿಸಿದೆ, ಮುಖ್ಯವಾಗಿ ಅಸಮಕಾಲಿಕ ಮೋಡ್‌ನಲ್ಲಿ ಬಹು-ಥ್ರೆಡ್ ಇನ್‌ಪುಟ್/ಔಟ್‌ಪುಟ್ ಸಂಸ್ಕರಣೆಗಾಗಿ ಹೊಸ ಕಾರ್ಯವಿಧಾನದ ಅನುಷ್ಠಾನದಿಂದಾಗಿ, Amazon ನಿಂದ ಯೋಜನೆಗೆ ವರ್ಗಾಯಿಸಲಾಗಿದೆ.

4 VCPU ಗಳನ್ನು ಹೊಂದಿರುವ AWS Graviton8 c2g.8xlarge ಪರೀಕ್ಷಾ ಪರಿಸರದಲ್ಲಿ, Valkey 8.1.1 ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 999.8 ಸಾವಿರ SET ವಿನಂತಿಗಳ ಥ್ರೋಪುಟ್ ಅನ್ನು ಸಾಧಿಸಿತು, ಆದರೆ Redis 8.0 ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 729.4 ಸಾವಿರ ವಿನಂತಿಗಳ ಮಟ್ಟವನ್ನು ಸಾಧಿಸಿತು. ಒಟ್ಟಾರೆಯಾಗಿ, Valkey ಯ ಥ್ರೋಪುಟ್ SET ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ Redis ಗಿಂತ 37% ಹೆಚ್ಚಾಗಿದೆ ಮತ್ತು GET ಗೆ 16% ಹೆಚ್ಚಾಗಿದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, Redis ಗೆ ಹೋಲಿಸಿದರೆ, Valkey SET ನಲ್ಲಿ 30% ಕಡಿತ ಮತ್ತು GET ಲೇಟೆನ್ಸಿಯಲ್ಲಿ 60% ಕಡಿತವನ್ನು ಪ್ರದರ್ಶಿಸಿತು.

 ವಾಲ್ಕಿ ಮತ್ತು ರೆಡಿಸ್ ಡಿಬಿಎಂಎಸ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಹೋಲಿಕೆ

ಬಹು-ಥ್ರೆಡ್ I/O ಸಂಸ್ಕರಣಾ ಕ್ರಮದಲ್ಲಿ ಸಮಾನಾಂತರ ಸಂಸ್ಕಾರಕಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅವಲಂಬಿಸಿ ಥ್ರೋಪುಟ್ ಮತ್ತು ವಿಳಂಬದಲ್ಲಿನ ಬದಲಾವಣೆಯ ಪ್ರತ್ಯೇಕ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಡೆಸಲಾಯಿತು. 3 ಥ್ರೆಡ್‌ಗಳವರೆಗೆ, ವಾಲ್ಕಿ ಮತ್ತು ರೆಡಿಸ್ ಸರಿಸುಮಾರು ಸಮಾನ ಫಲಿತಾಂಶಗಳನ್ನು ತೋರಿಸುತ್ತವೆ, ಆದರೆ ನಂತರ ವಾಲ್ಕಿ ಮುನ್ನಡೆ ಸಾಧಿಸುತ್ತಾರೆ. 6 VCPU ಗಳನ್ನು ಹೊಂದಿರುವ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ 8 ಥ್ರೆಡ್‌ಗಳೊಂದಿಗೆ, ವಾಲ್ಕಿಯ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 678 ಸಾವಿರ SET ವಿನಂತಿಗಳಾಗಿದ್ದರೆ, ರೆಡಿಸ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 563 ಸಾವಿರ ವಿನಂತಿಗಳಾಗಿದ್ದು, 256 ಏಕಕಾಲಿಕ ಸಂಪರ್ಕಗಳ ಮಿತಿಯನ್ನು ಹೊಂದಿತ್ತು. ಸಂಪರ್ಕಗಳ ಸಂಖ್ಯೆ 400 ಕ್ಕೆ ಹೆಚ್ಚಾದಾಗ, ವಾಲ್ಕಿಯ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 832 ಸಾವಿರ SET ವಿನಂತಿಗಳಿಗೆ ಏರಿತು.

 ವಾಲ್ಕಿ ಮತ್ತು ರೆಡಿಸ್ ಡಿಬಿಎಂಎಸ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಹೋಲಿಕೆ

ವಾಲ್ಕಿಯಲ್ಲಿನ ಸಂದರ್ಭ ಸ್ವಿಚ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅಡಚಣೆ ನಿರ್ವಹಣೆಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಿದ ನಂತರ, ನಾವು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 999.8 ಸಾವಿರ SET ವಿನಂತಿಗಳಿಗೆ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸುವಲ್ಲಿ ಯಶಸ್ವಿಯಾಗಿದ್ದೇವೆ. ಆಪ್ಟಿಮೈಸೇಶನ್‌ನ ಸಾರವು ಅಡಚಣೆ ನಿರ್ವಹಣೆಗಾಗಿ 2 VCPU ಗಳನ್ನು ನಿಯೋಜಿಸುವುದು ಮತ್ತು CPU ಗಳ ನಡುವೆ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ವಲಸೆಯನ್ನು ತೆಗೆದುಹಾಕಲು ಉಳಿದ 6 VCPU ಗಳನ್ನು ವಾಲ್ಕಿ ಮತ್ತು ರೆಡಿಸ್ I/O ಸಂಸ್ಕರಣಾ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಬಂಧಿಸುವುದು. sudo ethtool -L ens34 ಸಂಯೋಜಿತ 2 # IRQ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು 2 grep ens34 /proc/interrupts ಗೆ ಮಿತಿಗೊಳಿಸಿ # ಯಾವ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳು ಭಾಗಿಯಾಗಿವೆ ಎಂಬುದನ್ನು ನೋಡಿ (99 ಮತ್ತು 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # bind handler 99 to core 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # ಬೈಂಡ್ ಹ್ಯಾಂಡ್ಲರ್ 100 ಅನ್ನು ಕೋರ್ 2 ಗೆ # DBMS ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ (Redis ಗಾಗಿ, valkey/valkey:8.1.1 ಅನ್ನು redis:8.0 ಗೆ ಬದಲಾಯಿಸಿ) CPU ಕೋರ್‌ಗಳಿಗೆ ಕಂಟೇನರ್ ಬೈಂಡಿಂಗ್‌ನೊಂದಿಗೆ 2-7 ಡಾಕರ್ ರನ್ —network=»host» —rm \ —cpuset-cpus=»2-7″ valkey/valkey:8.1.1 \ —save «» —appendonly no —io-threads 6 \ —protected-mode no —maxmemory 10gb

ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷೆಗಾಗಿ, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಲಾಗಿದೆ: ಡಾಕರ್ ರನ್ —network=»host» —rm —cpuset-cpus=»2-7″ \ valkey/valkey:8.0.1 valkey-benchmark \ -h 172.31.4.92 -p 6379 -t SET,GET -n 100000000 -c 256 \ -r 3000000 —ಥ್ರೆಡ್‌ಗಳು 6 -d 1024

ಮೂಲ: opennet.ru

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