Hoʻohālikelike o Valkey a me Redis DBMS hana

Hōʻike ʻia nā hopena o ka hoʻāʻo ʻana i nā hoʻokuʻu hou loa o Redis 8.0 a me Valkey 8.1 DBMS, kahi i haʻi ʻia ai nā loiloi hana nui. Ma nā hoʻokolohua a pau i hana ʻia, ʻoi aku ka maikaʻi o ka fork i kūkulu ʻia e ke kaiāulu ma mua o ka papahana mua, ma muli o ka hoʻokō ʻana ma Valkey i kahi ʻano hana hou no ka hoʻoili ʻana i ka hoʻokomo a me ka hoʻoiho ʻana i ka hana asynchronous, i hoʻoili ʻia i ka papahana e Amazon.

Ma ka AWS Graviton4 c8g.2xlarge ho'āʻo kaiapuni me 8 VCPUs, Valkey 8.1.1 i loaʻa i ka throughput o 999.8 tausani SET noi no kekona, oiai Redis 8.0 i loaʻa i ka pae o 729.4 tausani noi no kekona. ʻO ka holoʻokoʻa, ʻoi aku ka 37% kiʻekiʻe o Valkey ma mua o Redis no nā hana SET a me 16% kiʻekiʻe no GET. I ka manawa like, i hoʻohālikelike ʻia me Redis, ua hōʻike ʻo Valkey i kahi hōʻemi o 30% ma SET a me 60% hoʻemi i ka latency GET.

 Hoʻohālikelike o Valkey a me Redis DBMS hana

Ua mālama ʻia kahi loiloi ʻokoʻa no ka hoʻololi ʻana i ka throughput a me nā lohi e pili ana i ka helu o nā kaʻina hana like i ke ʻano hana I/O multi-threaded. A hiki i 3 mau kaula, hōʻike ʻo Valkey a me Redis i nā hopena like, a laila alakaʻi ʻo Valkey. Me 6 mau kaula ma kahi ʻōnaehana me 8 VCPU, ʻo ka hana a Valkey he 678 tausani mau noi SET i kekona, a ʻo Redis he 563 tausani mau noi i kēlā me kēia kekona me ka palena o 256 mau pilina like. I ka piʻi ʻana o ka helu o nā pili i 400, ua hoʻonui ʻia ka hana a Valkey i 832 tausani mau noi SET i kekona.

 Hoʻohālikelike o Valkey a me Redis DBMS hana

Ma hope o ka hoʻonui ʻana i ka hana hoʻopau i ka ʻōnaehana e hōʻemi i ka nui o nā hoʻololi pōʻaiapili ma Valkey, ua hoʻokō mākou i ka hoʻonui ʻana i ka hana i 999.8 tausani mau noi SET i kekona. Ua iho mai ke kumu o ka optimization i ka hoʻokaʻawale ʻana i 2 VCPUs no ka hoʻopau ʻana a me ka hoʻopaʻa ʻana i ke koena 6 VCPUs i nā kaula hana Valkey a me Redis I/O e hoʻopau i ka neʻe ʻana o nā mea lawelawe ma waena o nā CPU. sudo ethtool -L ens34 hui pū ʻia 2 # palena i ka helu o nā mea lawelawe IRQ i 2 grep ens34 /proc/interrupts # ʻike i nā mea lawelawe e pili ana (99 a me 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # hoʻopaʻa lima 99 i ke kumu 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # bid handler 100 to core 2 # E hoʻomaka i ka DBMS (no Redis, hoʻololi valkey/valkey:8.1.1 i redis:8.0) me ka pahu e paʻa ana i nā cores CPU 2-7 docker run —network=»host» —rm \=cpuset-2″ valkey/valkey:7 \ —mālama «» —e hoʻopili ʻole —ʻo-io-threads 8.1.1 \ —protected-mode no —maxmemory 6gb

No ka hoʻāʻo ʻana, ua hoʻohana ʻia kēia kauoha: 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 -n 256 —nā milo 3000000 -d 6

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka