Encamên ceribandina guhertoyên herî dawî yên Redis 8.0 û Valkey 8.1 DBMS têne pêşkêş kirin, ku tê de çêtirkirinên performansê yên girîng hatine ragihandin. Di hemî ceribandinên ku hatine kirin de, forka ku ji hêla civakê ve hatî pêşve xistin ji projeya orîjînal çêtir performans nîşan da, bi giranî ji ber bicîhanîna mekanîzmayek nû di Valkey de ji bo pêvajoya têketin/derketinê ya pir-telî di moda asenkron de, ku ji hêla Amazon ve ji projeyê re hatî veguheztin.
Di hawîrdora ceribandinê ya AWS Graviton4 c8g.2xlarge de bi 8 VCPUyan, Valkey 8.1.1 bi dest xist ku 999.8 hezar daxwazên SET di saniyeyê de bi dest xist, di heman demê de Redis 8.0 jî bi dest xist ku 729.4 hezar daxwaz di saniyeyê de bi dest xist. Bi tevahî, rêjeya Valkey ji bo operasyonên SET ji ya Redis %37 û ji bo GET %16 zêdetir bû. Di heman demê de, li gorî Redis, Valkey di SET de %30 û di latency GET de %60 kêmbûn nîşan da.

Analîzek cuda li ser guhertina di rêjeya derbasbûnê û derengketinan de li gorî hejmara pêvajoyên paralel di moda pêvajoya I/O ya pir-telî de hate kirin. Heta 3 telîfan, Valkey û Redis encamên nêzîkî wekhev nîşan didin, lê dûv re Valkey pêşengiyê dike. Bi 6 telîfan li ser pergalek bi 8 VCPU-yan, performansa Valkey 678 hezar daxwazên SET di saniyeyê de bû, û ya Redis 563 hezar daxwaz di saniyeyê de bû bi sînorek 256 girêdanên hevdem. Dema ku hejmara girêdanan gihîşt 400, performansa Valkey gihîşt 832 hezar daxwazên SET di saniyeyê de.

Piştî baştirkirina birêvebirina navberdanê di pergalê de ji bo kêmkirina hejmara guhêrbarên çarçoveyê di Valkey de, me karî performansê zêde bikin heta 999.8 hezar daxwazên SET di saniyeyê de. Bingeha baştirkirinê daket ser veqetandina 2 VCPU-yan ji bo birêvebirina navberdanê û girêdana 6 VCPU-yên mayî bi têlên pêvajoya I/O yên Valkey û Redis re da ku koçberiya destgiran di navbera CPU-yan de ji holê rakin. sudo ethtool -L ens34 combined 2 # hejmara destgiranên IRQ-ê bi 2-an sînordar bike grep ens34 /proc/interrupts # bibîne ka kîjan destgiran beşdar in (99 û 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # destgira 99 bi core 1 ve girêbide echo 2 | sudo tee /proc/irq/100/smp_affinity # bind handler 100 bi core 2 ve girêbide # DBMS-ê bi girêdana konteynerê bi coreyên CPU-yê 8.1.1-8.0 ve bide destpêkirin (ji bo Redis, valkey/valkey:2 biguhere redis:7) docker bimeşîne —network=»host» —rm \ —cpuset-cpus=»2-7″ valkey/valkey:8.1.1 \ —save «» —appendonly no —io-threads 6 \ —protected-mode no —maxmemory 10gb
Ji bo ceribandina performansê, fermana jêrîn hat bikar anîn: 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
Source: opennet.ru
