Valkey ja Redis andmebaaside jÔudluse vÔrdlus

Esitatud on vĂ€rskete Redis 8.0 ja Valkey 8.1 andmebaasi vĂ€ljaannete testimistulemused, milles on mĂ€rgitud olulised jĂ”udluse optimeerimised. KĂ”igis tehtud testides ĂŒletas kogukonna poolt arendatav fork originaalprojekti peamiselt tĂ€nu Valkey uue mehhanismi rakendamisele, mis vĂ”imaldab mitmekiiruselist sisend-/vĂ€ljundit asĂŒnkroonses reĆŸiimis, mille viis projekti juurde Amazon.

Testkeskkonnas AWS Graviton4 c8g.2xlarge koos 8 VCPU-ga saavutas Valkey 8.1.1 jĂ”udluseks 999,8 tuhat SET-pĂ€ringut sekundis, samas kui Redis 8.0 saavutas taseme 729,4 tuhat pĂ€ringut sekundis. Üldiselt oli Valkey lĂ€bilaskevĂ”ime 37% kĂ”rgem SET-operatsioonide puhul ja 16% kĂ”rgem GET-operatsioonide puhul vĂ”rreldes Redis'ega. Samuti nĂ€itas Valkey projekti puhul, et vĂ”rreldes Redis'ega vĂ€henes pĂ€ringute töötlemise viivituste aeg 30% SET-operatsioonide puhul ja 60% GET-operatsioonide puhul.

Valkey ja Redis andmebaaside jÔudluse vÔrdlus

Eraldi viidi lĂ€bi analĂŒĂŒs lĂ€bilaskevĂ”ime ja viivituste muutusest sĂ”ltuvalt samaaegselt teostatavate töötlejate arvust mitme kiirusereĆŸiimi sisend-/vĂ€ljundi töötlemise reĆŸiimis. Kuni 3 kiiruseni nĂ€itavad Valkey ja Redis umbes vĂ”rdselt tulemusi, kuid seejĂ€rel hakkab Valkey kiiresti juhtima. 6 kiirusel oli 8 VCPU-ga sĂŒsteemis Valkey jĂ”udlus 678 tuhat SET-pĂ€ringut sekundis, samas kui Redis'i puhul oli see 563 tuhat pĂ€ringut sekundis 256 samaaegse ĂŒhenduse piiril. Kui ĂŒhenduste arv suurendada 400-ni, tĂ”usis Valkey jĂ”udlus 832 tuhande SET-pĂ€ringu sekundis.

Valkey ja Redis andmebaaside jÔudluse vÔrdlus

PĂ€rast katkestuste töötlemise optimeerimist sĂŒsteemis konteksti vahetamise vĂ€hendamiseks Ă”nnestus Valkey jĂ”udlust tĂ”sta 999,8 tuhande SET-pĂ€ringuni sekundis. Optimeerimise olemus seisnes 2 VCPU eraldamises katkestuste töötlemiseks ja 6 ĂŒlejÀÀnud VCPU sidumises Valkey ja Redis'i sisend-/vĂ€ljundi töötlemise kiirustega, et vĂ€listada töötlejate migreerumine CPU-de vahel. sudo ethtool -L ens34 combined 2 # piirame IRQ töötlejate arvu 2 peale grep ens34 /proc/interrupts # vaatame, millised töötlejad on aktiivsed (99 ja 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # seome töötleja 99 tuumas 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # seome töötleja 100 tuumas 2 # KĂ€ivitame andmebaasi (Redis'i puhul vaheta valkey/valkey:8.1.1 redis:8.0 vastu) konteineri tuumade 2-7 kĂŒlge sidumisega docker run —network="host" —rm \ —cpuset-cpus="2-7" valkey/valkey:8.1.1 \ —save "" —appendonly no —io-threads 6 \ —protected-mode no —maxmemory 10gb

JĂ”udluse testimiseks kasutati kĂ€sku: 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

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster