Valkey болон Redis DBMS гүйцэтгэлийн харьцуулалт

Redis 8.0 ба Valkey 8.1 DBMS-ийн хамгийн сүүлийн үеийн хувилбаруудыг турших үр дүнг танилцуулж, гүйцэтгэлийн оновчлолыг зарласан болно. Гүйцэтгэсэн бүх туршилтуудад олон нийтийн боловсруулсан сэрээ нь анхны төслөөс давсан бөгөөд энэ нь голчлон Amazon-оос төсөлд шилжүүлсэн асинхрон горимд олон урсгалтай оролт/гаралтын боловсруулалтын шинэ механизмыг Valkey-д хэрэгжүүлсэнтэй холбоотой юм.

AWS Graviton4 c8g.2xlarge туршилтын орчинд 8 VCPU-тай Valkey 8.1.1 нь секундэд 999.8 мянган SET хүсэлтийг дамжуулах чадвартай байсан бол Redis 8.0 нь секундэд 729.4 мянган хүсэлтийн түвшинд хүрсэн байна. Ерөнхийдөө Valkey-ийн дамжуулах чадвар нь SET үйлдлийн хувьд Redis-ээс 37%, GET-ийн хувьд 16% илүү байсан. Үүний зэрэгцээ, Редистэй харьцуулахад Valkey нь SET-ийг 30%, GET-ийн хоцролтыг 60% -иар бууруулсан байна.

 Valkey болон Redis DBMS гүйцэтгэлийн харьцуулалт

Олон урсгалт оролт гаралтын горимд зэрэгцээ процессоруудын тооноос хамаарч дамжуулах чадварын өөрчлөлт, саатал зэрэгт тусдаа дүн шинжилгээ хийсэн. 3 хүртэлх утас, Valkey болон Redis ойролцоогоор тэнцүү үр дүнг харуулдаг боловч дараа нь Valkey тэргүүлж байна. 6 VCPU бүхий систем дээр 8 урсгалтай бол Valkey-ийн гүйцэтгэл нь секундэд 678 мянган SET хүсэлт, Redis-ийнх 563 нэгэн зэрэг холболтын хязгаартай секундэд 256 мянган хүсэлт байсан. Холболтын тоо 400 болж өсөхөд Valkey-ийн гүйцэтгэл секундэд 832 мянган SET хүсэлт болж өссөн.

 Valkey болон Redis DBMS гүйцэтгэлийн харьцуулалт

Valkey дахь контекст шилжүүлэгчийн тоог багасгахын тулд систем дэх тасалдлын зохицуулалтыг оновчтой болгосны дараа бид гүйцэтгэлийг секундэд 999.8 мянган SET хүсэлт болгон нэмэгдүүлж чадсан. Оновчлолын мөн чанар нь тасалдлыг зохицуулах 2 VCPU-г хуваарилж, үлдсэн 6 VCPU-г процессоруудын хооронд зохицуулагчийн шилжилт хөдөлгөөнийг арилгахын тулд Valkey болон Redis I/O боловсруулах хэлхээнд холбоход оршдог. sudo ethtool -L ens34 хосолсон 2 # IRQ зохицуулагчийн тоог 2 хүртэл хязгаарлах grep ens34 /proc/ тасалдал # ямар зохицуулагч оролцож байгааг харах (99 ба 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # bind handler 99 to core 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # 100-р цөмд зохицуулагч 2-г холбох # DBMS-ийг эхлүүлэх (Redis-д valkey/valkey:8.1.1-ийг redis:8.0 болгон өөрчлөх) CPU-ийн 2-7 цөмтэй контейнер холбох docker run —network=»host» —rm-c \=c valkey/valkey:2 \ —хадгалах «» —зөвхөн хавсралт байхгүй —io-threads 7 \ —protected-mode no —maxmemory 8.1.1gb

Гүйцэтгэлийг шалгахдаа дараах тушаалыг ашигласан: 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 100000000c 256 — утас 3000000 -d 6

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх