Ir-riżultati tal-ittestjar tal-aħħar rilaxxi ta' Redis 8.0 u Valkey 8.1 DBMS huma ppreżentati, fejn ġew iddikjarati ottimizzazzjonijiet sinifikanti tal-prestazzjoni. Fit-testijiet kollha mwettqa, il-fork żviluppata mill-komunità qabżet il-proġett oriġinali, prinċipalment minħabba l-implimentazzjoni f'Valkey ta' mekkaniżmu ġdid għall-ipproċessar ta' input/output b'ħafna threads f'modalità asinkronika, trasferit għall-proġett minn Amazon.
Fl-ambjent tat-test AWS Graviton4 c8g.2xlarge bi 8 VCPUs, Valkey 8.1.1 kiseb throughput ta' 999.8 elf talba SET kull sekonda, filwaqt li Redis 8.0 kiseb livell ta' 729.4 elf talba kull sekonda. B'mod ġenerali, ir-throughput ta' Valkey kien 37% ogħla minn dak ta' Redis għal operazzjonijiet SET u 16% ogħla għal GET. Fl-istess ħin, meta mqabbel ma' Redis, Valkey wera tnaqqis ta' 30% fis-SET u tnaqqis ta' 60% fil-latency tal-GET.

Twettqet analiżi separata tal-bidla fir-rendiment u d-dewmien skont in-numru ta' proċessuri paralleli fil-modalità ta' pproċessar I/O b'ħafna threads. Sa 3 threads, Valkey u Redis juru riżultati bejn wieħed u ieħor ugwali, iżda mbagħad Valkey jieħu t-tmexxija. B'6 threads fuq sistema bi 8 VCPUs, il-prestazzjoni ta' Valkey kienet ta' 678 elf talba SET kull sekonda, u dik ta' Redis kienet ta' 563 elf talba kull sekonda b'limitu ta' 256 konnessjoni simultanja. Meta n-numru ta' konnessjonijiet żdied għal 400, il-prestazzjoni ta' Valkey żdiedet għal 832 elf talba SET kull sekonda.

Wara li ottimizzajna l-immaniġġjar tal-interruzzjonijiet fis-sistema biex innaqqsu n-numru ta' swiċċijiet tal-kuntest f'Valkey, irnexxielna nżidu l-prestazzjoni għal 999.8 elf talba SET kull sekonda. L-essenza tal-ottimizzazzjoni niżlet għall-allokazzjoni ta' 2 VCPUs għall-immaniġġjar tal-interruzzjonijiet u r-rabta tas-6 VCPUs li fadal mat-threads tal-ipproċessar Valkey u Redis I/O biex telimina l-migrazzjoni tal-handlers bejn is-CPUs. sudo ethtool -L ens34 combined 2 # tillimita n-numru ta' handlers tal-IRQ għal 2 grep ens34 /proc/interrupts # tara liema handlers huma involuti (99 u 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # torbot il-handler 99 mal-qalba 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # qabbad il-handler 100 mal-qalba 2 # Ibda d-DBMS (għal Redis, ibdel valkey/valkey:8.1.1 għal redis:8.0) b'kontejner li jorbot mal-qlub tas-CPU 2-7 docker run —network=»host» —rm \ —cpuset-cpus=»2-7″ valkey/valkey:8.1.1 \ —save «» —appendonly no —io-threads 6 \ —protected-mode no —maxmemory 10gb
Għall-ittestjar tal-prestazzjoni, intuża l-kmand li ġej: 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 -c 256 \ -r 3000000 —threads 6 -d 1024
Sors: opennet.ru
