Ferliking fan Valkey en Redis DBMS-prestaasjes

De resultaten fan it testen fan 'e lêste releases fan Redis 8.0 en Valkey 8.1 DBMS wurde presintearre, wêryn wichtige prestaasjeoptimalisaasjes waarden oanjûn. Yn alle útfierde testen prestearre de troch de mienskip ûntwikkele fork better as it orizjinele projekt, benammen troch de ymplemintaasje yn Valkey fan in nij meganisme foar multi-threaded input/output-ferwurking yn asynchrone modus, oerdroegen oan it projekt troch Amazon.

Yn 'e AWS Graviton4 c8g.2xlarge testomjouwing mei 8 VCPU's berikte Valkey 8.1.1 in trochfier fan 999.8 tûzen SET-oanfragen per sekonde, wylst Redis 8.0 in nivo fan 729.4 tûzen oanfragen per sekonde berikte. Oer it algemien wie de trochfier fan Valkey 37% heger as dy fan Redis foar SET-operaasjes en 16% heger foar GET. Tagelyk, yn ferliking mei Redis, liet Valkey in fermindering fan 30% yn SET en 60% yn GET-latinsje sjen.

 Ferliking fan Valkey en Redis DBMS-prestaasjes

In aparte analyze waard útfierd fan 'e feroaring yn trochfier en fertragingen ôfhinklik fan it oantal parallelle prosessors yn 'e multi-threaded I/O-ferwurkingsmodus. Oant 3 threads litte Valkey en Redis sawat gelikense resultaten sjen, mar dan nimt Valkey de lieding. Mei 6 threads op in systeem mei 8 VCPU's wie de prestaasje fan Valkey 678 tûzen SET-oanfragen per sekonde, en dy fan Redis wie 563 tûzen oanfragen per sekonde mei in limyt fan 256 simultane ferbiningen. Doe't it oantal ferbiningen tanommen nei 400, naam de prestaasje fan Valkey ta nei 832 tûzen SET-oanfragen per sekonde.

 Ferliking fan Valkey en Redis DBMS-prestaasjes

Nei it optimalisearjen fan ûnderbrekkingsôfhanneling yn it systeem om it oantal kontekstwikselingen yn Valkey te ferminderjen, slagge it ús om de prestaasjes te ferheegjen nei 999.8 tûzen SET-oanfragen per sekonde. De essinsje fan 'e optimalisaasje kaam del op it tawizen fan 2 VCPU's foar ûnderbrekkingsôfhanneling en it binen fan 'e oerbleaune 6 VCPU's oan 'e Valkey- en Redis I/O-ferwurkingsthreads om de migraasje fan handlers tusken CPU's te eliminearjen. sudo ethtool -L ens34 combined 2 # beheine it oantal IRQ-handlers ta 2 grep ens34 /proc/interrupts # sjoch hokker handlers belutsen binne (99 en 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # bine handler 99 oan kearn 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # bind handler 100 oan kearn 2 # Start de DBMS (foar Redis, feroarje valkey/valkey:8.1.1 nei redis:8.0) mei kontenerbinding oan CPU-kearnen 2-7 docker run —network=»host» —rm \ —cpuset-cpus=»2-7″ valkey/valkey:8.1.1 \ —save «» —appendonly nee —io-threads 6 \ —protected-mode nee —maxmemory 10gb

Foar prestaasjetests waard it folgjende kommando brûkt: 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

Boarne: opennet.ru

Add a comment