Matokeo ya kujaribu matoleo mapya zaidi ya Redis 8.0 na Valkey 8.1 DBMS yanawasilishwa, ambapo uboreshaji muhimu wa utendakazi ulitangazwa. Katika majaribio yote yaliyofanywa, uma uliotengenezwa na jumuiya ulifanya vyema zaidi mradi wa awali, hasa kutokana na kutekelezwa katika Valkey ya utaratibu mpya wa usindikaji wa pembejeo/towe wenye nyuzi nyingi katika hali ya asynchronous, iliyohamishiwa kwenye mradi na Amazon.
Katika mazingira ya majaribio ya AWS Graviton4 c8g.2xlarge yenye VCPU 8, Valkey 8.1.1 ilipata maombi ya SET 999.8 kwa sekunde, huku Redis 8.0 ilipata kiwango cha maombi 729.4 elfu kwa sekunde. Kwa jumla, matokeo ya Valkey yalikuwa juu kwa 37% kuliko ya Redis kwa shughuli za SET na 16% juu zaidi kwa GET. Wakati huo huo, ikilinganishwa na Redis, Valkey alionyesha punguzo la 30% la SET na 60% ya kupunguza muda wa GET.

Uchanganuzi tofauti ulifanyika wa mabadiliko ya upitishaji na ucheleweshaji kulingana na idadi ya vichakataji sambamba katika hali ya kuchakata ya I/O yenye nyuzi nyingi. Hadi nyuzi 3, Valkey na Redis zinaonyesha takriban matokeo sawa, lakini Valkey anaongoza. Ikiwa na nyuzi 6 kwenye mfumo wenye VCPU 8, utendaji wa Valkey ulikuwa maombi 678 ya SET kwa sekunde, na Redis ilikuwa maombi elfu 563 kwa sekunde yenye kikomo cha miunganisho 256 kwa wakati mmoja. Idadi ya miunganisho ilipoongezeka hadi 400, utendaji wa Valkey uliongezeka hadi maombi elfu 832 ya SET kwa sekunde.

Baada ya kuboresha ushughulikiaji wa kukatiza katika mfumo ili kupunguza idadi ya swichi za muktadha katika Valkey, tulifanikiwa kuongeza utendaji hadi maombi 999.8 ya SET kwa sekunde. Kiini cha uboreshaji kilitokana na kutenga VCPU 2 kwa kushughulikia kwa kukatiza na kufunga VCPU 6 zilizosalia kwenye nyuzi za usindikaji za Valkey na Redis I/O ili kuondoa uhamishaji wa vidhibiti kati ya CPU. sudo ethtool -L ens34 pamoja 2 # punguza idadi ya vishikilizi vya IRQ hadi 2 grep ens34 /proc/interrupts # tazama ni vishikilizi gani vinavyohusika (99 na 100) mwangwi 1 | sudo tee /proc/irq/99/smp_affinity # funga kidhibiti 99 hadi msingi 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # funga kidhibiti 100 hadi msingi 2 # Anzisha DBMS (kwa Redis, badilisha valkey/valkey:8.1.1 kuwa redis:8.0) na chombo kinachofunga kwa CPU cores 2-7 docker run —network=»host» —rm \=″2set valkey/valkey:7 \ -hifadhi «» -appendonly hapana -io-nyuzi 8.1.1 \ -hali iliyolindwa nambari -kumbukumbu 6gb
Kwa upimaji wa utendaji, amri ifuatayo ilitumiwa: 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 -nyuzi 256 -d 3000000
Chanzo: opennet.ru
