日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Redis開(kāi)源版、Redis倚天版、Tair內(nèi)存型性能白皮書(shū)

本文介紹Tair內(nèi)存型、Redis開(kāi)源版Redis倚天版的性能測(cè)試結(jié)果,以及測(cè)試環(huán)境、測(cè)試工具與測(cè)試方法。

測(cè)試結(jié)果

對(duì)包括SET、GET等在內(nèi)的十余種Redis基礎(chǔ)命令進(jìn)行性能測(cè)試并給出測(cè)試指標(biāo)。

命令

Tair內(nèi)存型

Redis開(kāi)源版

Redis倚天版

QPS

Average Latency

99th Percentile Latency

QPS

Average Latency

99th Percentile Latency

QPS

Average Latency

99th Percentile Latency

SET

282,656

0.45

0.86

142,376

0.45

0.72

126,493

0.50

1.01

GET

519,761

0.24

0.36

204,690

0.31

0.47

201,492

0.31

0.53

ZADD

208,169

0.62

1.14

113,135

0.57

0.78

90,046

0.71

1.44

ZSCORE

463,904

0.27

0.40

170,163

0.37

0.54

172,508

0.37

0.68

HSET

260,069

0.49

1.03

124,613

0.51

0.97

116,706

0.54

1.12

HGET

494,603

0.25

0.37

188,903

0.34

0.52

175,461

0.36

0.64

LPUSH

286,324

0.44

0.84

153,269

0.42

0.59

129,188

0.49

0.96

LINDEX

414,070

0.30

0.45

157,568

0.40

0.58

154,444

0.41

0.76

SADD

292,738

0.44

0.86

140,155

0.45

0.63

126,199

0.50

0.99

SISMEMBER

531,139

0.24

0.34

181,492

0.35

0.52

211,807

0.30

0.47

EVALSHA

214,303

0.60

1.12

101,136

0.63

0.91

76,659

0.84

2.09

測(cè)試指標(biāo)說(shuō)明:

  • QPS:每秒處理的讀寫(xiě)操作數(shù),單位為次/秒。

  • Average Latency:操作的平均延遲時(shí)間,單位為毫秒(ms)。

  • 99th Percentile Latency:99%操作延遲,指99%操作的最大延遲時(shí)間,單位為毫秒(ms)。例如該指標(biāo)的值為0.5毫秒,表示99%的請(qǐng)求可以在0.5毫秒內(nèi)被處理。

說(shuō)明
  • 測(cè)試結(jié)果為在多個(gè)可用區(qū)、對(duì)多個(gè)實(shí)例、進(jìn)行多次測(cè)試的平均值。

  • 測(cè)試結(jié)果中的延遲為全鏈路延遲,包含數(shù)據(jù)包在DB側(cè)及壓測(cè)端排隊(duì)的時(shí)延。

  • 測(cè)試結(jié)果受到多種不可控因素的影響,存在約10%的誤差屬于合理范圍。

  • 測(cè)試結(jié)果僅代表新購(gòu)實(shí)例進(jìn)行單一命令測(cè)試的結(jié)果,而生產(chǎn)環(huán)境實(shí)例的壓力測(cè)試請(qǐng)以業(yè)務(wù)壓測(cè)場(chǎng)景為準(zhǔn)。

  • 測(cè)試結(jié)果反映了實(shí)例的極限性能,在生產(chǎn)環(huán)境中,不建議將實(shí)例維持在極限負(fù)載狀態(tài)。

測(cè)試環(huán)境

數(shù)據(jù)庫(kù)

測(cè)試環(huán)境信息

說(shuō)明

地域和可用區(qū)

華北2(北京)可用區(qū)L、華東1(杭州)可用區(qū)K、華東2(上海)可用區(qū)N、華南1(深圳)可用區(qū)C。

說(shuō)明

本測(cè)試在多個(gè)地域進(jìn)行,本測(cè)試報(bào)告僅代表上述可用區(qū)的平均性能水平。

實(shí)例架構(gòu)

標(biāo)準(zhǔn)架構(gòu)(雙副本),不啟用集群,詳情請(qǐng)參見(jiàn)標(biāo)準(zhǔn)架構(gòu)

說(shuō)明

其他架構(gòu)的性能說(shuō)明:

  • 集群架構(gòu)代理模式:當(dāng)請(qǐng)求的Key分布均勻時(shí),其性能不低于標(biāo)準(zhǔn)架構(gòu)的n倍。

  • 集群架構(gòu)直連模式:當(dāng)請(qǐng)求的Key分布均勻時(shí),其性能等于標(biāo)準(zhǔn)架構(gòu)的n倍。

  • 讀寫(xiě)分離架構(gòu):寫(xiě)性能略低于標(biāo)準(zhǔn)架構(gòu)(因?yàn)橛懈嗟膹?fù)制流量),讀性能不低于標(biāo)準(zhǔn)架構(gòu)的n倍。

n為集群架構(gòu)的分片節(jié)點(diǎn)數(shù)或讀寫(xiě)分離架構(gòu)的總節(jié)點(diǎn)數(shù)。

實(shí)例規(guī)格

由于測(cè)試結(jié)果受規(guī)格影響較小,本次測(cè)試以下實(shí)例規(guī)格:

  • Tair內(nèi)存型8 GB(tair.rdb.8g)

  • Redis開(kāi)源版8 GB(redis.shard.xlarge.ce)

  • Redis倚天版8 GB(redis.shard.xlarge.y.ee)

規(guī)格詳情請(qǐng)參見(jiàn)規(guī)格查詢導(dǎo)航

測(cè)試客戶端

測(cè)試環(huán)境信息

說(shuō)明

部署壓測(cè)工具的設(shè)備

云服務(wù)器ECS實(shí)例,規(guī)格為ecs.g7.8xlarge,詳情請(qǐng)參見(jiàn)實(shí)例規(guī)格族

地域和可用區(qū)

與實(shí)例對(duì)應(yīng)的地域及可用區(qū)。

操作系統(tǒng)

Alibaba Cloud Linux 3。

網(wǎng)絡(luò)

Tair實(shí)例為相同專有網(wǎng)絡(luò)(VPC),且與Tair實(shí)例通過(guò)專有網(wǎng)絡(luò)連接。

測(cè)試工具

使用resp-benchmark開(kāi)源工具進(jìn)行壓測(cè)。SET、GET等常規(guī)測(cè)試項(xiàng)與redis-benchmark保持一致,在其余測(cè)試項(xiàng)中可以更有效地模擬用戶真實(shí)場(chǎng)景,壓滿Tair多個(gè)線程,從而體現(xiàn)Tair的實(shí)際性能。

說(shuō)明

您可以執(zhí)行resp-benchmark --help命令獲取更詳細(xì)的配置項(xiàng)說(shuō)明,或訪問(wèn)其GitHub主頁(yè)。

安裝方法

pip install resp-benchmark==0.1.7

測(cè)試示例

重要
  • 每次測(cè)試時(shí)建議先清空數(shù)據(jù)庫(kù),避免已有數(shù)據(jù)存在干擾。

  • resp-benchmark在未指定連接數(shù)時(shí)會(huì)自動(dòng)選擇相對(duì)合適的連接數(shù),為測(cè)得極限負(fù)載下的數(shù)據(jù)建議手動(dòng)調(diào)整連接數(shù),比如設(shè)置為128,可以通過(guò)增加參數(shù)-c 128實(shí)現(xiàn)。連接數(shù)過(guò)低時(shí),測(cè)試壓力不足,導(dǎo)致QPS數(shù)據(jù)偏低;連接數(shù)過(guò)高時(shí),測(cè)試壓力可能會(huì)超過(guò)DB的處理能力,數(shù)據(jù)包會(huì)在網(wǎng)絡(luò)鏈路中排隊(duì)較長(zhǎng)時(shí)間,導(dǎo)致延遲數(shù)據(jù)偏高。因?yàn)橛绊懸蛩剌^多,難以在下文中給出固定的連接數(shù)配置,常見(jiàn)的連接數(shù)設(shè)置為32、64、128、192和256,可根據(jù)實(shí)際測(cè)試情況自行調(diào)整。

以下為各命令的測(cè)試實(shí)例:

  • SET

    該指標(biāo)代表SET命令的性能。

    測(cè)試SET命令,Key范圍為0-10000000(表示生成的Key名稱為key_0000000000~key_0009999999),Value大小為64字節(jié),測(cè)試時(shí)長(zhǎng)20秒:

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SET {key uniform 10000000} {value 64}"
  • GET

    該指標(biāo)代表GET命令的性能。

    1. 構(gòu)造數(shù)據(jù),Key范圍為0-10000000,Value大小為64字節(jié):

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10000000 "SET {key sequence 10000000} {value 64}"
    2. 測(cè)試GET命令,測(cè)試時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "GET {key uniform 10000000}"
  • ZADD

    該指標(biāo)代表ZADD命令的性能。

    測(cè)試ZADD的寫(xiě)性能,Key范圍為0-1000,Score范圍為0-70000,每個(gè)Key最多10000個(gè)Field,測(cè)試時(shí)長(zhǎng)20秒:

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 "ZADD {key uniform 1000} {rand 70000} {key uniform 10000}"
  • ZSCORE

    該指標(biāo)代表ZSCORE命令的性能。

    1. 構(gòu)造數(shù)據(jù),Key范圍為0-1000,Score范圍為0-70000,每個(gè)Key最多10007個(gè)Field:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "ZADD {key sequence 1000} {rand 70000} {key sequence 10007}"
    2. 測(cè)試ZSCORE命令,測(cè)試時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "ZSCORE {key uniform 1000} {key uniform 10007}"
  • HSET

    該指標(biāo)代表HSET命令的性能。

    測(cè)試HSET命令,Key范圍為0-1000,F(xiàn)ield范圍為0-10000,Value大小為64字節(jié),測(cè)試時(shí)長(zhǎng)20秒:

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "HSET {key uniform 1000} {key uniform 10000} {value 64}"
  • HGET

    該指標(biāo)代表HGET命令的性能。

    1. 構(gòu)造數(shù)據(jù),Key范圍為0-1000,每個(gè)Key包含10007個(gè)Field,數(shù)據(jù)大小為64字節(jié):

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "HSET {key sequence 1000} {key sequence 10007} {value 64}"
    2. 測(cè)試HGET命令,測(cè)試時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "HGET {key uniform 1000} {key uniform 10007}"
  • LPUSH

    該指標(biāo)代表LPUSH命令的性能。

    測(cè)試LPUSH命令,Key范圍為0-1000,Value大小為64字節(jié),測(cè)試時(shí)長(zhǎng)20秒:

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "LPUSH {key uniform 1000} {value 64}"
  • LINDEX

    該指標(biāo)代表LINDEX命令的性能。

    1. 構(gòu)造數(shù)據(jù),Key范圍為0-1000,每個(gè)Key包含10000條數(shù)據(jù),數(shù)據(jù)大小為64字節(jié):

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10000000 "LPUSH {key sequence 1000} {value 64}"
    2. 測(cè)試LINDEX命令,測(cè)試時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "LINDEX {key uniform 1000} {rand 10000}"
  • SADD

    該指標(biāo)代表SADD命令的性能。

    測(cè)試SADD命令,Key范圍為0-1000,Value大小為64字節(jié),測(cè)試時(shí)長(zhǎng)20秒:

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SADD {key uniform 1000} {value 64}"
  • SISMEMBER

    該指標(biāo)代表SISMEMBER命令的性能。

    1. 構(gòu)造數(shù)據(jù),Key范圍為0-1000,每個(gè)Key包含10007條數(shù)據(jù),數(shù)據(jù)大小為64字節(jié):

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "SADD {key sequence 1000} {key sequence 10007}"
    2. 測(cè)試SISMEMBER命令,測(cè)試時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SISMEMBER {key uniform 1000} {key uniform 10007}"
  • EVALSHA

    該指標(biāo)代表在EVALSHA中執(zhí)行SET命令的性能,其中SET命令的Key范圍為0-10000000,Value大小為64字節(jié)。

    1. 載入Lua腳本:

      redis-cli -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 SCRIPT LOAD "return redis.call('SET', KEYS[1], ARGV[1])"
    2. 測(cè)試命令時(shí)長(zhǎng)20秒:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "EVALSHA d8f2fad9f8e86a53d2a6ebd960b33c4972cacc37 1 {key uniform 10000000} {value 64}"