JÀmförelse av prestanda mellan databasystemen Valkey och Redis

Resultaten frÄn tester av de senaste versionerna av databashanterare Redis 8.0 och Valkey 8.1 har presenterats, dÀr betydande prestandaförbÀttringar har annonserats. I alla genomförda tester övertrÀffade det community-ledda forken det originella projektet, frÀmst tack vare införandet av en ny mekanism för multitrÄdad in- och utdatahantering i asynkront lÀge, överfört till projektet av Amazon.

I testmiljön AWS Graviton4 c8g.2xlarge med 8 VCPU uppnÄddes en prestanda pÄ 999,8 tusen SET-förfrÄgningar per sekund i Valkey 8.1.1, medan Redis 8.0 nÄdde ett vÀrde av 729,4 tusen förfrÄgningar per sekund. I allmÀnhet var Valkeys bandbredd högre Àn Redis med 37 % för SET-operationer och 16 % för GET-operationer. Samtidigt visade Valkey, jÀmfört med Redis, en minskning av fördröjningar vid hantering av förfrÄgningar med 30 % för SET-operationer och 60 % för GET-operationer.

JÀmförelse av prestanda mellan databasystemen Valkey och Redis

En separat analys av förÀndringen av bandbredd och fördröjningar beroende av antalet samtidigt körande hanterare i lÀget för multitrÄdad in- och utdatahantering genomfördes. Upp till 3 trÄdar visar Valkey och Redis ungefÀr samma resultat, men sedan drar Valkey ifrÄn. Vid 6 trÄdar pÄ ett system med 8 VCPU uppnÄdde Valkey en prestanda pÄ 678 tusen SET-förfrÄgningar per sekund, medan Redis nÄdde 563 tusen förfrÄgningar per sekund med en grÀns pÄ 256 samtidiga anslutningar. NÀr anslutningarna ökades till 400 vÀxte Valkeys prestanda till 832 tusen SET-förfrÄgningar per sekund.

JÀmförelse av prestanda mellan databasystemen Valkey och Redis

Efter optimering av avbrottshanteringen i systemet för att minska antalet kontextbyten har Valkey lyckats höja prestandan till 999,8 tusen SET-förfrĂ„gningar per sekund. Optimeringens kĂ€rna handlade om att tilldela 2 VCPU för avbrottshantering och binda de kvarstĂ„ende 6 VCPU till Valkey- och Redis-in- och utdatahantering för att utesluta flyttning av hanterare mellan CPU:erna. sudo ethtool -L ens34 combined 2 # begrĂ€nsar antalet IRQ-hanterare till 2 grep ens34 /proc/interrupts # kolla vilka hanterare som anvĂ€nds (99 och 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # binda hanterare 99 till kĂ€rna 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # binda hanterare 100 till kĂ€rna 2 # Starta databashanteraren (för Redis, Ă€ndra valkey/valkey:8.1.1 till redis:8.0) med containerbindning till CPU-kĂ€rnorna 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

För att testa prestandan anvĂ€ndes kommandot: 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

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster