Valkey және Redis ДҚБЖ өнімділігін салыстыру

Redis 8.0 және Valkey 8.1 ДҚБЖ соңғы шығарылымдарын тестілеу нәтижелері ұсынылған, оларда маңызды өнімділік оңтайландырулары жарияланған. Өткізілген барлық сынақтарда қауымдастық әзірлеген шанышқы бастапқы жобадан асып түсті, бұл негізінен Amazon жобаға ауыстырылған асинхронды режимде көп ағынды енгізу/шығыс өңдеудің жаңа механизмін Valkey-де енгізу есебінен болды.

4 VCPU бар AWS Graviton8 c2g.8xlarge сынақ ортасында Valkey 8.1.1 секундына 999.8 мың SET сұрауының өткізу қабілетіне қол жеткізді, ал Redis 8.0 секундына 729.4 мың сұраныс деңгейіне қол жеткізді. Жалпы алғанда, Valkey өткізу қабілеті SET операциялары үшін Redis-тен 37% және GET үшін 16% жоғары болды. Сонымен бірге, Redis-пен салыстырғанда, Valkey SET-тің 30%-ға және GET кешігуінің 60%-ға төмендеуін көрсетті.

 Valkey және Redis ДҚБЖ өнімділігін салыстыру

Көп ағынды енгізу/шығару өңдеу режимінде параллельді процессорлар санына байланысты өткізу қабілеті мен кідірістердің өзгеруіне жеке талдау жүргізілді. 3 ағынға дейін Valkey және Redis шамамен бірдей нәтижелерді көрсетеді, бірақ содан кейін Valkey көшбасшылыққа ие болады. 6 VCPU бар жүйеде 8 ағынмен Valkey өнімділігі секундына 678 мың SET сұрауын құрады, ал Redis бір мезгілде 563 қосылу шегімен секундына 256 мың сұрау болды. Қосылымдар саны 400-ге дейін өскен кезде, Valkey өнімділігі секундына 832 мың SET сұрауына дейін өсті.

 Valkey және Redis ДҚБЖ өнімділігін салыстыру

Valkey-дегі контекстік қосқыштардың санын азайту үшін жүйеде үзілістерді өңдеуді оңтайландырғаннан кейін біз өнімділікті секундына 999.8 мың SET сұрауына дейін арттыра алдық. Оңтайландырудың мәні үзілістерді өңдеу үшін 2 VCPU бөлуге және процессорлар арасындағы өңдеушілердің көшуін жою үшін қалған 6 VCPU-ны Valkey және Redis I/O өңдеу ағындарына байланыстыруға келді. sudo ethtool -L ens34 біріктірілген 2 # IRQ өңдегіштерінің санын 2-ге дейін шектеңіз grep ens34 /proc/interrupts # қандай өңдеушілер қатысқанын қараңыз (99 және 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # өңдеуші 99 1 ядроға байланыстыру 2 | sudo tee /proc/irq/100/smp_affinity # 100-ядроға өңдеуші 2-ді байланыстырыңыз # ДҚБЖ іске қосыңыз (Redis үшін, valkey/valkey:8.1.1-ді redis:8.0-ге өзгертіңіз) 2-7 CPU ядроларымен байланыстыру докерлік іске қосу —желі =»хост» —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 100000000c 256 —жіптер 3000000 -d 6

Ақпарат көзі: opennet.ru

пікір қалдыру