Redis 8.0 və Valkey 8.1 DBMS-nin ən son buraxılışlarının sınaq nəticələri təqdim olunur, burada əhəmiyyətli performans optimallaşdırmaları elan edilmişdir. Aparılan bütün sınaqlarda icma tərəfindən hazırlanmış çəngəl, əsasən Amazon tərəfindən layihəyə ötürülən asinxron rejimdə çox yivli giriş/çıxış emalı üçün yeni mexanizmin Valkey-də tətbiqi sayəsində orijinal layihəni üstələyib.
4 VCPU ilə AWS Graviton8 c2g.8xlarge test mühitində Valkey 8.1.1 saniyədə 999.8 min SET sorğusu ötürmə qabiliyyətinə, Redis 8.0 isə saniyədə 729.4 min sorğu səviyyəsinə nail olub. Ümumilikdə, Valkey-nin ötürmə qabiliyyəti SET əməliyyatları üçün Redis-dən 37%, GET üçün isə 16% yüksək idi. Eyni zamanda, Redis ilə müqayisədə Valkey SET-də 30% azalma və GET gecikmə müddətində 60% azalma nümayiş etdirdi.

Çox yivli I/O emal rejimində paralel prosessorların sayından asılı olaraq ötürmə qabiliyyətinin dəyişməsi və gecikmələrin ayrıca təhlili aparılmışdır. 3 mövzuya qədər, Valkey və Redis təxminən bərabər nəticələr göstərir, lakin sonra Valkey liderlik edir. 6 VCPU-lu bir sistemdə 8 mövzu ilə Valkey-in performansı saniyədə 678 min SET sorğusu, Redis-in isə 563 eyni vaxtda əlaqə limiti ilə saniyədə 256 min sorğu idi. Bağlantıların sayı 400-ə yüksəldikdə, Valkeyin performansı saniyədə 832 min SET sorğusuna yüksəldi.

Valkey-də kontekst keçidlərinin sayını azaltmaq üçün sistemdə kəsmə işini optimallaşdırdıqdan sonra performansı saniyədə 999.8 min SET sorğusuna çatdıra bildik. Optimallaşdırmanın mahiyyəti fasilələrin idarə edilməsi üçün 2 VCPU-nun ayrılması və CPU-lar arasında işləyicilərin miqrasiyasını aradan qaldırmaq üçün qalan 6 VCPU-nun Valkey və Redis I/O emal iplərinə bağlanması ilə bağlı idi. sudo ethtool -L ens34 birləşdirilmiş 2 # IRQ işləyicilərinin sayını 2 ilə məhdudlaşdırın grep ens34 /proc/interrupts # hansı işləyicilərin iştirak etdiyinə baxın (99 və 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # 99-nu nüvəyə 1 echo 2-yə bağlamaq | sudo tee /proc/irq/100/smp_affinity # 100-ci nüvəyə işləyici 2-ni bağlayın # DBMS-ni işə salın (Redis üçün valkey/valkey:8.1.1-i redis:8.0-a dəyişdirin) konteynerin CPU nüvələrinə 2-7 docker run —şəbəkə=»host» —″-pus » —rm-c \=c valkey/valkey:2 \ —saxla «» —yalnız əlavə yox —io-ipləri 7 \ —qorunan rejim yox —maksimum yaddaş 8.1.1gb
Performans sınağı üçün aşağıdakı əmrdən istifadə edilmişdir: 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 -3000000 6 —iplər 1024 -d XNUMX
Mənbə: opennet.ru
