Cymhariaeth o berfformiad DBMS Valkey a Redis

Cyflwynir canlyniadau profi'r datganiadau diweddaraf o Redis 8.0 a Valkey 8.1 DBMS, lle datganwyd optimeiddiadau perfformiad sylweddol. Ym mhob prawf a gynhaliwyd, perfformiodd y fforch a ddatblygwyd gan y gymuned yn well na'r prosiect gwreiddiol, yn bennaf oherwydd gweithredu mecanwaith newydd yn Valkey ar gyfer prosesu mewnbwn/allbwn aml-edau mewn modd asyncronig, a drosglwyddwyd i'r prosiect gan Amazon.

Yn amgylchedd prawf AWS Graviton4 c8g.2xlarge gydag 8 VCPU, cyflawnodd Valkey 8.1.1 allbwn o 999.8 mil o geisiadau SET yr eiliad, tra cyflawnodd Redis 8.0 lefel o 729.4 mil o geisiadau yr eiliad. Ar y cyfan, roedd allbwn Valkey 37% yn uwch na allbwn Redis ar gyfer gweithrediadau SET ac 16% yn uwch ar gyfer GET. Ar yr un pryd, o'i gymharu â Redis, dangosodd Valkey ostyngiad o 30% mewn oedi SET a 60% mewn oedi GET.

 Cymhariaeth o berfformiad DBMS Valkey a Redis

Cynhaliwyd dadansoddiad ar wahân o'r newid mewn trwybwn ac oediadau yn dibynnu ar nifer y proseswyr cyfochrog yn y modd prosesu I/O aml-edau. Hyd at 3 edau, mae Valkey a Redis yn dangos canlyniadau tua'r un fath, ond yna mae Valkey yn cymryd yr awenau. Gyda 6 edau ar system gydag 8 VCPU, perfformiad Valkey oedd 678 mil o geisiadau SET yr eiliad, ac roedd perfformiad Redis yn 563 mil o geisiadau yr eiliad gyda therfyn o 256 o gysylltiadau ar yr un pryd. Pan gynyddodd nifer y cysylltiadau i 400, cynyddodd perfformiad Valkey i 832 mil o geisiadau SET yr eiliad.

 Cymhariaeth o berfformiad DBMS Valkey a Redis

Ar ôl optimeiddio trin ymyrraethau yn y system i leihau nifer y switshis cyd-destun yn Valkey, llwyddom i gynyddu'r perfformiad i 999.8 mil o geisiadau SET yr eiliad. Hanfod yr optimeiddio oedd dyrannu 2 VCPU ar gyfer trin ymyrraethau a rhwymo'r 6 VCPU sy'n weddill i'r edafedd prosesu Mewnbwn/Allbwn Valkey a Redis i ddileu mudo trinwyr rhwng CPUs. sudo ethtool -L ens34 cyfunol 2 # cyfyngu nifer y trinwyr IRQ i 2 grep ens34 /proc/interrupts # gweld pa drinwyr sy'n gysylltiedig (99 a 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # rhwymo trinwr 99 i graidd 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # rhwymo trinwr 100 i graidd 2 # Dechreuwch y DBMS (ar gyfer Redis, newidiwch valkey/valkey:8.1.1 i redis:8.0) gyda rhwymiad cynhwysydd i greiddiau 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

Ar gyfer profi perfformiad, defnyddiwyd y gorchymyn canlynol: 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

Ffynhonnell: opennet.ru

Ychwanegu sylw