本文介紹雲原生記憶體資料庫Tair記憶體型(相容Redis 5.0)效能測試的測試環境、測試載入器、測試方法與測試結果。
產品概述
Tair記憶體型適合并發量大、讀寫熱點多、對效能要求極高的情境。相比KVStore for Redis社區版,記憶體型主要在下述方面進行了最佳化:
- 採用多執行緒模式,效能約為同規格社區版執行個體的3倍。
- 提供多種增強型資料結構模組(modules),包括exString(包含Redis String命令增強)、exHash、exZset、GIS、Bloom、Doc、TS、Cpc、Roaring、Search和Vector,業務無需再關心儲存的結構和時效性,極大提升業務開發效率。
更多介紹,請參見記憶體型。
測試環境
測試環境資訊 | 說明 |
地區和可用性區域 | 所有測試均在華北2(北京)地區的可用性區域G中完成。 |
執行個體架構 | 標準版(雙副本)架構,詳情請參見標準架構。 |
部署壓測工具的機器 | Elastic Compute Service執行個體,規格為ecs.g5ne.16xlarge,詳情請參見執行個體規格類型系列。 |
記憶體型執行個體規格 | 由於測試結果受規格影響較小,本次測試以redis.amber.master.large.multithread規格為例,規格詳情請參見記憶體型(標準架構)。 |
測試載入器
測試方法
本次測試主要使用redis-benchmark進行以下兩個情境的壓測:
- 啟動16個線程、256個串連、100000個Key的取值範圍來測試SET命令執行效能。
./redis-benchmark -h r-bp1s02ae14mr****.redis.rds.aliyuncs.com -p 6379 -a testaccount:Rp829dlwa -n 3000000 -r 100000 -c 256 -t set -d 64 --threads 16
- 啟動16個線程、256個串連、100000個Key的取值範圍來測試GET命令執行效能。
./redis-benchmark -h r-bp1s02ae14mr****.redis.rds.aliyuncs.com -p 6379 -a testaccount:Rp829dlwa -n 3000000 -r 100000 -c 256 -t get -d 64 --threads 16
參數 | 說明 |
-h | Tair執行個體的內網串連地址。具體操作,請參見查看串連地址。 |
-p | Tair執行個體的服務連接埠,預設為6379。 |
-a | Tair執行個體的密碼。 說明 如果使用通過控制台建立的帳號串連Tair,串連密碼格式需為 <user>:<password> 。例如,帳號名為admin,密碼為Rp829dlwa,則串連Tair時的密碼為admin:Rp829dlwa 。 |
-c | 並發的串連數量。 |
-n | 測試的總請求數量,可設定較大的值以持續壓測。 |
-t | 測試的命令,例如GET、SET等。 |
-d | SET或GET所操作的值的資料大小,單位為位元組(Byte)。 |
-r | 使用的Key的隨機範圍,即使用多少個不同key。 |
--threads | 啟動多線程壓測,並指定線程個數。 |
測試結果
測試單位 | 說明 |
QPS | 每秒處理的讀寫運算元,單位為次/秒。 |
Latency | 操作的平均延遲分布,單位為毫秒(ms)。例如70.33% <= 0.6 milliseconds ,表示70.33%的操作在0.6毫秒內得以處理。 |
GET測試結果
Value長度 | QPS(次/秒) | Latency(毫秒) |
64位元組 | 444,115.47 | 0.00% <= 0.1 milliseconds 0.01% <= 0.2 milliseconds 0.05% <= 0.3 milliseconds 3.10% <= 0.4 milliseconds 31.02% <= 0.5 milliseconds 70.33% <= 0.6 milliseconds 99.67% <= 0.7 milliseconds |
128位元組 | 435,276.94 | 0.00% <= 0.1 milliseconds 0.01% <= 0.2 milliseconds 0.04% <= 0.3 milliseconds 0.67% <= 0.4 milliseconds 18.28% <= 0.5 milliseconds 57.34% <= 0.6 milliseconds 86.72% <= 0.7 milliseconds 98.58% <= 0.8 milliseconds 99.88% <= 0.9 milliseconds |
256位元組 | 427,960.03 | 0.00% <= 0.1 milliseconds 0.02% <= 0.2 milliseconds 0.04% <= 0.3 milliseconds 1.38% <= 0.4 milliseconds 24.10% <= 0.5 milliseconds 62.43% <= 0.6 milliseconds 86.83% <= 0.7 milliseconds 98.13% <= 0.8 milliseconds 99.86% <= 0.9 milliseconds |
1024位元組 | 428,265.53 | 0.00% <= 0.1 milliseconds 0.02% <= 0.2 milliseconds 0.06% <= 0.3 milliseconds 3.92% <= 0.4 milliseconds 27.29% <= 0.5 milliseconds 62.92% <= 0.6 milliseconds 85.32% <= 0.7 milliseconds 96.47% <= 0.8 milliseconds 99.52% <= 0.9 milliseconds |
SET測試結果
Value長度 | QPS(次/秒) | Latency(ms) |
64位元組 | 218,086.66 | 0.00% <= 0.1 milliseconds 0.00% <= 0.2 milliseconds 0.01% <= 0.3 milliseconds 0.01% <= 0.4 milliseconds 0.02% <= 0.5 milliseconds 0.04% <= 0.6 milliseconds 0.07% <= 0.7 milliseconds 0.09% <= 0.8 milliseconds 0.13% <= 0.9 milliseconds 0.49% <= 1.0 milliseconds 16.20% <= 1.1 milliseconds 81.83% <= 1.2 milliseconds 98.74% <= 1.3 milliseconds 99.74% <= 1.4 milliseconds |
128位元組 | 206,825.23 | 0.00% <= 0.1 milliseconds 0.00% <= 0.2 milliseconds 0.00% <= 0.3 milliseconds 0.01% <= 0.4 milliseconds 0.01% <= 0.5 milliseconds 0.03% <= 0.6 milliseconds 0.05% <= 0.7 milliseconds 0.08% <= 0.8 milliseconds 0.14% <= 0.9 milliseconds 0.20% <= 1.0 milliseconds 1.08% <= 1.1 milliseconds 36.09% <= 1.2 milliseconds 93.36% <= 1.3 milliseconds 99.17% <= 1.4 milliseconds |
256位元組 | 203,086.92 | 0.00% <= 0.1 milliseconds 0.00% <= 0.2 milliseconds 0.00% <= 0.3 milliseconds 0.01% <= 0.4 milliseconds 0.01% <= 0.5 milliseconds 0.02% <= 0.6 milliseconds 0.04% <= 0.7 milliseconds 0.05% <= 0.8 milliseconds 0.08% <= 0.9 milliseconds 0.13% <= 1.0 milliseconds 1.01% <= 1.1 milliseconds 26.12% <= 1.2 milliseconds 91.45% <= 1.3 milliseconds 99.16% <= 1.4 milliseconds |
1024位元組 | 184,547.23 | 0.00% <= 0.1 milliseconds 0.00% <= 0.2 milliseconds 0.00% <= 0.3 milliseconds 0.00% <= 0.4 milliseconds 0.01% <= 0.5 milliseconds 0.02% <= 0.6 milliseconds 0.03% <= 0.7 milliseconds 0.05% <= 0.8 milliseconds 0.07% <= 0.9 milliseconds 0.09% <= 1.0 milliseconds 0.12% <= 1.1 milliseconds 0.30% <= 1.2 milliseconds 11.28% <= 1.3 milliseconds 75.67% <= 1.4 milliseconds 97.70% <= 1.5 milliseconds 99.41% <= 1.6 milliseconds |