Redis 8.0 va Valkey 8.1 DBMS ning so'nggi nashrlarini sinovdan o'tkazish natijalari taqdim etilgan bo'lib, ularda sezilarli ishlash optimallashtirishlari e'lon qilingan. O'tkazilgan barcha testlarda hamjamiyat tomonidan ishlab chiqilgan vilkalar, asosan, Amazon tomonidan loyihaga o'tkazilgan asinxron rejimda ko'p tarmoqli kirish/chiqishni qayta ishlashning yangi mexanizmi Valkeyda amalga oshirilishi tufayli original loyihadan ustun keldi.
4 VCPUga ega AWS Graviton8 c2g.8xlarge sinov muhitida Valkey 8.1.1 sekundiga 999.8 ming SET so‘rovi o‘tkazuvchanligiga erishdi, Redis 8.0 esa soniyasiga 729.4 ming so‘rov darajasiga erishdi. Umuman olganda, Valkeyning o'tkazish qobiliyati SET operatsiyalari uchun Redisdan 37% va GET uchun 16% yuqori edi. Shu bilan birga, Redis bilan solishtirganda, Valkey SETning 30% ga va GET kechikishining 60% ga qisqarishini ko'rsatdi.

Ko'p oqimli kiritish-chiqarish rejimida parallel protsessorlar soniga qarab o'tkazish qobiliyati va kechikishlarning o'zgarishi alohida tahlil qilindi. 3 tagacha mavzular, Valkey va Redis taxminan teng natijalarni ko'rsatadi, ammo keyin Valkey yetakchilik qiladi. 6 ta VCPUga ega tizimda 8 ta oqim bilan Valkeyning ishlashi soniyada 678 ming SET so'rovini, Redisniki esa 563 bir vaqtning o'zida ulanish chegarasi bilan sekundiga 256 ming so'rovni tashkil etdi. Ulanishlar soni 400 taga ko'payganida, Valkeyning ishlashi soniyada 832 ming SET so'roviga ko'tarildi.

Valkey-dagi kontekstli kalitlar sonini kamaytirish uchun tizimda uzilishlarni boshqarishni optimallashtirgandan so'ng, biz ishlashni soniyasiga 999.8 ming SET so'roviga oshirishga muvaffaq bo'ldik. Optimallashtirishning mohiyati uzilishlar bilan ishlash uchun 2 VCPU ajratish va qolgan 6 VCPUni protsessorlar orasidagi ishlov beruvchilar migratsiyasini bartaraf etish uchun Valkey va Redis I/U ishlov berish iplariga ulashdan iborat edi. sudo ethtool -L ens34 birlashtirilgan 2 # IRQ ishlov beruvchilari sonini 2 tagacha cheklash grep ens34 /proc/interrupts # qaysi ishlov beruvchilar ishtirok etishini ko'rish (99 va 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # bog'lovchi ishlov beruvchi 99 yadro 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # 100-yadroga ishlov beruvchi 2-ni bog'lang # DBMS-ni ishga tushiring (Redis uchun valkey/valkey:8.1.1-ni redis:8.0 ga o'zgartiring) 2-7 protsessor yadrolariga konteyner bog'lash bilan docker ishga tushirish —tarmoq=»host» —rm-c \=c valkey/valkey:2 \ —saqlash «» —faqat qo‘shimchalar yo‘q —io-iplar 7 \ —himoyalangan rejim no —maksimum xotira 8.1.1 gb
Ishlashni tekshirish uchun quyidagi buyruq ishlatilgan: 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 256 -iplar 3000000 -d 6
Manba: opennet.ru
