Samanburður á afköstum Valkey og Redis gagnagrunnskerfisins

Kynntar eru niðurstöður prófana á nýjustu útgáfum af Redis 8.0 og Valkey 8.1 gagnagrunnskerfinu, þar sem fram komu mikilvægar afkastahagræðingar. Í öllum prófunum sem gerðar voru skilaði fork-ið sem þróað var af samfélaginu betri árangri en upprunalega verkefnið, aðallega vegna innleiðingar í Valkey á nýjum aðferðum fyrir fjölþráða inntaks-/úttaksvinnslu í ósamstilltri stillingu, sem Amazon flutti yfir í verkefnið.

Í AWS Graviton4 c8g.2xlarge prófunarumhverfinu með 8 VCPU-einingum náði Valkey 8.1.1 afköstum upp á 999.8 þúsund SET-beiðnir á sekúndu, en Redis 8.0 náði 729.4 þúsund beiðnum á sekúndu. Í heildina var afköst Valkey 37% hærri en Redis fyrir SET-aðgerðir og 16% hærri fyrir GET. Á sama tíma, samanborið við Redis, sýndi Valkey 30% minnkun á SET-seinkun og 60% minnkun á GET-seinkun.

 Samanburður á afköstum Valkey og Redis gagnagrunnskerfisins

Sérstök greining var gerð á breytingum á afköstum og töfum eftir fjölda samsíða örgjörva í fjölþráða I/O vinnsluham. Í allt að þremur þráðum sýna Valkey og Redis nokkurn veginn jafnar niðurstöður, en þá tekur Valkey forystuna. Með 3 þráðum í kerfi með 6 VCPU-einingum var afköst Valkey 8 þúsund SET beiðnir á sekúndu og Redis 678 þúsund beiðnir á sekúndu með takmörkun á 563 samtímis tengingum. Þegar fjöldi tenginga jókst í 256 jókst afköst Valkey í 400 þúsund SET beiðnir á sekúndu.

 Samanburður á afköstum Valkey og Redis gagnagrunnskerfisins

Eftir að hafa fínstillt truflunarmeðhöndlun kerfisins til að fækka samhengisrofum í Valkey, tókst okkur að auka afköstin í 999.8 þúsund SET beiðnir á sekúndu. Kjarninn í fínstillingunni fólst í því að úthluta 2 VCPU fyrir truflunarmeðhöndlun og binda hinar 6 VCPU við Valkey og Redis I/O vinnsluþræðina til að útrýma flutningi meðhöndlunaraðila milli örgjörva. sudo ethtool -L ens34 combined 2 # takmarka fjölda IRQ meðhöndlunaraðila við 2 grep ens34 /proc/interrupts # sjá hvaða meðhöndlunaraðilar eru viðriðnir (99 og 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # binda meðhöndlunaraðila 99 við kjarna 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # bindur meðhöndlara 100 við kjarna 2 # Ræsir gagnagrunnskerfið (fyrir Redis, breytir valkey/valkey:8.1.1 í redis:8.0) með gámabindingu við örgjörvakjarna 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

Fyrir afkastaprófanir var eftirfarandi skipun notuð: 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

Heimild: opennet.ru

Bæta við athugasemd