เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ Valkey เปเบฅเบฐ Redis DBMS

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เปˆเบญเบเบซเบฅเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡ Redis 8.0 เปเบฅเบฐ Valkey 8.1 DBMS เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต, เปƒเบ™เบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”. เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™, เบชเป‰เบญเบกเบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบŠเบธเบกเบŠเบปเบ™เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ”เบตเบเบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบเป‰เบญเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Valkey เบ‚เบญเบ‡เบเบปเบ™เป„เบเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เบฒเป€เบ‚เบปเป‰เบฒ / เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบซเบผเบฒเบเป€เบชเบฑเป‰เบ™เปƒเบ™เบฎเบนเบšเปเบšเบš asynchronous, เป‚เบญเบ™เป„เบ›เบซเบฒเป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบ Amazon.

เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš AWS Graviton4 c8g.2xlarge เบเบฑเบš 8 VCPUs, Valkey 8.1.1 เป„เบ”เป‰เบšเบฑเบ™เบฅเบธเป€เบ–เบดเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป 999.8 เบžเบฑเบ™ SET เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ Redis 8.0 เบšเบฑเบ™เบฅเบธเบฅเบฐเบ”เบฑเบš 729.4 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต. เป‚เบ”เบเบฅเบงเบกเปเบฅเป‰เบง, เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡ Valkey เปเบกเปˆเบ™เบชเบนเบ‡เบเบงเปˆเบฒ 37% เบ‚เบญเบ‡ Redis เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ SET เปเบฅเบฐเบชเบนเบ‡เบเบงเปˆเบฒ 16% เบชเปเบฒเบฅเบฑเบš GET. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš Redis, Valkey เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™ 30% เปƒเบ™ SET เปเบฅเบฐ 60% เบ‚เบญเบ‡เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™ latency เบ‚เบญเบ‡ GET.

 เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ Valkey เปเบฅเบฐ Redis DBMS

เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡ throughput เปเบฅเบฐเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเป‚เบ”เบเบญเบตเบ‡เบ•เบฒเบกเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”เบ‚เบฐเบซเบ™เบฒเบ™เปƒเบ™เป‚เบซเบกเบ”เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ I/O เบซเบผเบฒเบเบเบฐเบ—เบนเป‰. เป€เบ–เบดเบ‡ 3 เบเบฐเบ—เบนเป‰, Valkey เปเบฅเบฐ Redis เบชเบฐเปเบ”เบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Valkey เป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบžเบฒ. เบ”เป‰เบงเบ 6 threads เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบต 8 VCPUs, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Valkey เปเบกเปˆเบ™ 678 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป SET เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต, เปเบฅเบฐ Redis's เปเบกเปˆเบ™ 563 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡ 256 เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเป‰เบญเบกเป†เบเบฑเบ™. เป€เบกเบทเปˆเบญเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡ 400, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Valkey เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡ 832 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป SET เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต.

 เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ Valkey เปเบฅเบฐ Redis DBMS

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบผเบฑเบšเบชเบฐเบžเบฒเบšเบเบฒเบ™เปƒเบ™ Valkey, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบ›เบฑเบ™ 999.8 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป SET เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต. เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป„เบ”เป‰เบฅเบปเบ‡เป„เบ›เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™ 2 VCPUs เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบœเบนเบเบกเบฑเบ” 6 VCPU เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบเบฑเบšเบเบฐเบ—เบนเป‰เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡ Valkey เปเบฅเบฐ Redis I/O เป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ CPUs. 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 เบเบฑเบšเบซเบผเบฑเบ 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # bind handler 100 to core 2 # เป€เบฅเบตเปˆเบก DBMS (เบชเปเบฒเบฅเบฑเบš Redis, เบ›เปˆเบฝเบ™ valkey/valkey: 8.1.1 เป€เบ›เบฑเบ™ redis: 8.0) เบ”เป‰เบงเบเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ–เบฑเบ‡เปƒเบชเปˆ CPU cores 2-7 docker run โ€”network=ยปhostยป โ€”2rm-โ€ณsc. valkey/valkey:7 \ โ€”save ยซยป โ€” appendonly no โ€”io-threads 8.1.1 \ โ€”protected-mode no โ€”maxmemory 6gb

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰: docker run โ€”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. โ€” เบเบฐโ€‹เบ—เบนเป‰ 256 -d 3000000

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™