docs
uredis
Stress Test

Stress Test

Kuaijie Primary and Standby Redis Product Test

Test Environment

Redis-server

Software version: 6.0

Server model: Kuaijie Edition Primary and Standby Redis, Physical Machine Ordinary Model

Product specifications: Kuaijie 1G, Kuaijie 2G, Kuaijie 4G, Kuaijie 6G, Kuaijie 8G, Physical Machine Ordinary Model

Redis-benchmark

Server model: Kuaijie O type

System version: CentOS 8.3

Machine configuration: 16C/16G

Memtier_benchmark

Server model: Kuaijie O type

System version: CentOS 6.4

Machine configuration: 16C/16G

Test Scenarios

1. Different number of connections, pipeline closed

Test script:

#!/bin/bash
for clients in {1,2,4,8,16,32,64,128,256,512,800}; do
    redis-benchmark  -c $connection -n 1000000 -h IP -d 256 -t get,set -q --threads 4
done
Test results

Set Performance

Number of Connections1248163264128256512800
Kuaijie 1G14118269915057183222117619137741153822166417147819153609153421
Kuaijie 2G14067275505198685077105241142653163671142633142612153468159565
Kuaijie 4G13921281365122184997117495142673159769159769159846159616153421
Kuaijie 6G13921277734871185091114116142653166334166417166361153444153444
Kuaijie 8G14068279395056886850117495142633159744159718159872159769147819
Physical Machine Ordinary Model897916774280364072252919599176426366813686946910172364

Get Performance

Number of Connections1248163264128256512800
Kuaijie 1G165093097258750102438153657181587210482199720199680190258199521
Kuaijie 2G15667289515796096880142673173671189720188680180817181827192216
Kuaijie 4G16509307335769097880142673181620199760190367190403189760192897
Kuaijie 6G16578307095782298427142653173671190216199680195114191587212024
Kuaijie 8G165783081559633102553142836190222210260190186199920210128209995
Physical Machine Ordinary Model997319272315714780366246861459037190973935319589291907

2. Different data size, pipeline closed

Test script:

#!/bin/bash
for data_size in {1,8,64,512,4096}; do
    redis-benchmark -c 64 -n 1000000 -h IP -d $data_size -t get,set -q --threads 4
done
# 32KiB size of data size run long time easy to make 1GB capacity instance oom.
data_size=32768
redis-benchmark -c 64 -n 50000 -h IP -d $data_size -t get,set -q --threads 4
Test results

Set Performance

Bytes1 Byte8 Bytes64 Bytes512 Bytes4096 Bytes32768 Bytes
Kuaijie 1G1736711738521664441289986662210748
Kuaijie 2G1815211736711597691377416544912077
Kuaijie 4G1817521815871736711428166141311659
Kuaijie 6G1664171597951664721479286892211075
Kuaijie 8G1815541636091526941436576661312676

Get Performance

Bytes1 Byte8 Bytes64 Bytes512 Bytes4096 Bytes32768 Bytes
Kuaijie 1G19968019018619043919022211746711425
Kuaijie 2G19972019996019972019018611760512028
Kuaijie 4G21026019996021021619996012103613319
Kuaijie 6G19941519022219992019968011760512519
Kuaijie 8G19992018155418155418155411748114490

3. Different number of connections, pipeline enabled

Test script:

#!/bin/bash
for clients in {1,2,4,8,16,32,64,128,256,512,800}; do
    redis-benchmark  -c $clients -n 5000000 -P 100 -h IP  -d 256 -t get,set -q --threads 4
done
Test results

Set Performance

Number of Connections1248163264128256512800
Kuaijie 1G332933487044486854524989525430525265511561498305463907433162406471
Kuaijie 2G350434475465511823539257525430511770498454511142453391424052442712
Kuaijie 4G356709475330539548539374524824511718524989511195464037443262414593
Kuaijie 6G344400475556512242525154525320538851498902511195498256423980415006
Kuaijie 8G350459487187540073539374539723554262538793511665463520433200398883
Physical Machine Ordinary Model137155165579182681178424189343184836195266207331202609193318190614

Get Performance

Number of Connections1248163264128256512800
Kuaijie 1G6657781174536153704216627861537042166389315328011533742142409515323321421666
Kuaijie 2G6443291109631153562616633401663893166223415342121661681153468314232841328021
Kuaijie 4G6457781174812153711116067821663893166168116622341662234166278615332721532332
Kuaijie 6G6458671051082166334016650011665001171159416611291660577166112915328011531393
Kuaijie 8G6442461174536166555616633401663340166168115337421533742153562615337421423284
Physical Machine Ordinary Model230075406834418795475737491980498952505152542711501705501403482020

4. Short Connection Stress Test

The short connection stress test aims to test the performance of different Redis products under different read and write ratio conditions.
Test script:

#!/bin/bash
memtier_benchmark -s IP -p 6379 -c 30 -t 8 -n 1000 --ratio=10:0 --reconnect-interval=1
memtier_benchmark -s IP -p 6379 -c 30 -t 8 -n 1000 --ratio=5:5 --reconnect-interval=1
memtier_benchmark -s IP -p 6379 -c 30 -t 8 -n 1000 --ratio=0:10 --reconnect-interval=1
Test Results
Read/Write Ratio10:05:50:10
Kuaijie 1G291112803928433
Kuaijie 2G277482813627952
Kuaijie 4G282692819027664
Kuaijie 6G274912787028297
Kuaijie 8G280372796527916

Performance Enhanced Redis Product Test

Redis-server

Software Version: Performance Enhanced Redis

Product Specifications: 4G, 6G, 8G, 12G, 16G, 24G, 32G, 40G, 48G, 56G, 64G

Redis-benchmark

Server Model: Kuaijie O Type

System Version: CentOS 8.3

Machine Configuration: 16C/16G

Test Scenarios

1. Different Number of Connections

Test Script:

#!/bin/bash
for clients in {1,2,4,8,32,64,128,256,512,800}; do
    redis-benchmark -c $clients -n 10000000 -h IP -d 256 -t get,set -q --threads 8
done

Test Results

Set Performance

Number of Connections12483264128256512800
Multi-Core Primary and Standby 4G18669344425559466216193702227917230542226623223428227855
Multi-Core Primary and Standby 6G18070302215830876917200934240934232541231197232498227195
Multi-Core Primary and Standby 8G19633344426443776913195114219770218574217386217339219712
Multi-Core Primary and Standby 12G19827369936549269315157475217386220984215049204035209929
Multi-Core Primary and Standby 16G19976348916666681457191372224709224714216202218541219702
Multi-Core Primary and Standby 24G20626366196359277058176202188675228560210508220935220945
Multi-Core Primary and Standby 32G17908340135657659622200996238083239503231203228529228503
Multi-Core Primary and Standby 40G207233917069565104437155634238089248434239503235249235244
Multi-Core Primary and Standby 48G177563407161162103358178558231203245398233912227231228508
Multi-Core Primary and Standby 56G188013162960352105680190421228169233481220526237450227863
Multi-Core Primary and Standby 64G182433444160990105259123819227252249975235271238049239440

Get Performance

Number of Connections12483264128256512800
Multi-Core Primary and Standby 4G205363731368530109436240582308875336123323881326503337478
Multi-Core Primary and Standby 6G208303894074486112037238449336123333803344815330545344768
Multi-Core Primary and Standby 8G227654255273308114933229740305334319989327847340912360321
Multi-Core Primary and Standby 12G233644390382372119753189566310048317460296269350840333500
Multi-Core Primary and Standby 16G235294328776538122319224757312490322570333311319959314891
Multi-Core Primary and Standby 24G236274268579114123449249993288089322570317450320000331071
Multi-Core Primary and Standby 32G202813678874678111724264893330567360347336111347898333277
Multi-Core Primary and Standby 40G244064519572118136050240940341868360894333151384718370329
Multi-Core Primary and Standby 48G205203852765681126982170905319989357117373775344803366864
Multi-Core Primary and Standby 56G202403837969435119383212363287728330447316876306955322242
Multi-Core Primary and Standby 64G204893737472642130288170277307654325192392354385835382252

2. Different Data Size

Test script:

#!/bin/bash
for data_size in {16,32,64,128,256,512,1024,4096,8192,32768}; do
    redis-benchmark -c 200 -n 10000000 -h IP -d $data_size -t get,set -q --threads 8
done

Test Results

Set Performance

Bytes16 Bytes32 Bytes64 Bytes128 Bytes256 Bytes512 Bytes1024 Bytes4096 Bytes8192 Bytes32768 Bytes
Multi-Core Primary and Standby 4G283679277777266666263150245380228555196070925695402110748
Multi-Core Primary and Standby 6G258044369329501356504464518645478739186764854204875110771
Multi-Core Primary and Standby 8G248428243890249770259726240952206206184775868404941011329
Multi-Core Primary and Standby 12G250000246907238083233912220535206407183865877794997812478
Multi-Core Primary and Standby 16G249993245392245380233912221209207294185669871124992311282
Multi-Core Primary and Standby 24G253158243232236680231208216525202501182646864404945011349
Multi-Core Primary and Standby 32G248181254770253158263707248439228142204752922034921412070
Multi-Core Primary and Standby 40G279696255049249770239509238089204509186770884935011313310
Multi-Core Primary and Standby 48G275854270255238083231203220574200997182633850784939210748
Multi-Core Primary and Standby 56G257552259733253109248428232922206252184632864195017812119
Multi-Core Primary and Standby 64G283679277754268434248428238089214847187536833364928913324

Get Performance

Bytes16 Bytes32 Bytes64 Bytes128 Bytes256 Bytes512 Bytes1024 Bytes4096 Bytes8192 Bytes32768 Bytes
Multi-Core Primary and Standby 4G3636333632063397133332773334642925652057071211395413713319
Multi-Core Primary and Standby 6G341868316880347908338905322570261650208862995985788713331
Multi-Core Primary and Standby 8G3310713478143388943388943310712962762119201013475487213393
Multi-Core Primary and Standby 12G327847281554341870327847325228290909211911983405491113316
Multi-Core Primary and Standby 16G331071333322333322333322325228302557213869860705489013327
Multi-Core Primary and Standby 24G3278473389483333222857083252283044632119831027345443513347
Multi-Core Primary and Standby 32G331071346945353963357142344825315302227253962675499412010
Multi-Core Primary and Standby 40G362800381549346944338947338947289475222248827664770912742
Multi-Core Primary and Standby 48G277777333322344827357142333322289395201010941325453512805
Multi-Core Primary and Standby 56G331071333322363609363200302557304463195116972155444011708
Multi-Core Primary and Standby 64G361111363609362800363609347814302557218655998494918612297

Proxy Performance Test

Test Object

Model: Distributed Version

Database Type: Performance Enhanced Version

Single Shard Capacity: 6GB

Proxy: NVMe (or SSD) Distributed Version Redis Proxy

Number of Shards: 2 shards, 4 shards, 8 shards, 16 shards

Redis-benchmark

Server Model: Kuaijie O Type

System Version: CentOS 7.6

Machine Configuration: 32C/32G

Test Context

Test Command

redis-benchmark -h IP -t set,get -d 256 --threads 32 -c 960 -n 10000000 -r 10000

Test Results

Set Performance

Proxy Core Number248163264
2 shards217244386701415299469241520450521247
4 shards236501369329501356504464518645537521
8 shards235122379518514412527475546298539025
16 shards224202385131561829577600675904712301

Get Performance

Proxy Core Number248163264
2 shards188469311075395238391144492053587406
4 shards189257329973504884491908491859553863
8 shards189082326085566544588657602831605202
16 shards178275329793569800587302756636797257
  • Company
  • ContactUs
  • Blog
Copyright © 2024 SurferCloud All Rights Reserved