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 операциялары үчүн Редиске караганда 37% жана GET үчүн 16% жогору болгон. Ошол эле учурда, Redis менен салыштырганда, Valkey SET 30% га кыскарган жана GET кечигүү 60% кыскарган.

Көп агымдуу киргизүү/чыгарууну иштетүү режиминде параллелдүү процессорлордун санына жараша өткөрүү жөндөмдүүлүгүнүн өзгөрүшүнө жана кечигүүсүнө өзүнчө талдоо жүргүзүлгөн. 3 жипке чейин, Valkey жана Redis болжол менен бирдей натыйжаларды көрсөтөт, бирок андан кийин Valkey лидерликти алат. 6 VCPU менен тутумда 8 жип менен Valkeyдин аткаруусу секундасына 678 миң SET суроосун түздү, ал эми Редис секундасына 563 миң суроону бир эле учурда 256 туташуунун чеги менен түздү. Туташуулардын саны 400гө чейин көбөйгөндө, Valkeyдин көрсөткүчтөрү секундасына 832 миң SET суроосуна чейин өстү.

Valkeyдеги контексттик которгучтардын санын азайтуу үчүн системадагы үзгүлтүктөрдү иштетүүнү оптималдаштыргандан кийин, биз секундасына 999.8 миң SET суроо-талаптарына чейин көбөйтүүгө жетиштик. Оптималдаштыруунун маңызы үзгүлтүктөрдү иштетүү үчүн 2 VCPU бөлүштүрүү жана процессорлордун ортосундагы иштеткичтердин миграциясын жок кылуу үчүн калган 6 VCPUну Valkey жана Redis I/O иштетүү жиптерине байлоодон келип чыкты. sudo ethtool -L ens34 Combined 2 # IRQ иштетүүчүлөрдүн санын 2ге чейин чектейт grep ens34 /proc/interrupts # кайсы иштеткичтер тартылганын көрүңүз (99 жана 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # туташуучу иштеткич 99 негизги 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 докер иштетүү —тармак =»хост» —rm-c \=c valkey/valkey:2 \ —сактоо «» —кошумча гана жок —io-жиптер 7 \ —коргоо режими жок —максималдуу эс тутум 8.1.1гб
Ишти текшерүү үчүн төмөнкү буйрук колдонулган: 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 -d 6
Source: opennet.ru
