このトピックでは、Redis 5.0と互換性のあるDRAMベースのインスタンスApsaraDB for Redis Enhanced Edition (Tair) でのテストについて説明します。 また、テスト環境、ツール、メソッド、および結果も提供します。
概要
Tair DRAMベースのインスタンスは、高い同時実行性と多数の読み取りおよび書き込み操作を伴うシナリオに適しています。 DRAMベースのインスタンスは、ApsaraDB for Redis Community Editionインスタンスよりも多くのメリットを提供します。
DRAMベースのインスタンスはマルチスレッドモデルを使用します。 DRAMベースのインスタンスは、同じ仕様のApsaraDB for Redis Community Editionインスタンスの約3倍の読み書きパフォーマンスを提供します。
DRAMベースのインスタンスは、exString (Redis文字列機能を強化するコマンドを含む) 、exHash、exZset、GIS、Bloom、Doc、TS、Cpc、Roaring、Search、およびVectorなどの複数の拡張データモジュールを提供します。 これらのモジュールにより、データ構造やストレージの適時性に関する心配がなくなり、アプリケーション開発に集中できます。
詳細については、「DRAMベースのインスタンス」をご参照ください。
テスト環境
環境アイテム | 説明 |
リージョンとゾーン | すべてのテストは北京ゾーンGで行われます。 |
インスタンスアーキテクチャ | テストインスタンスは、標準のマスターレプリカアーキテクチャを使用します。 詳細については、「標準アーキテクチャ」をご参照ください。 |
圧力テスト用のツールを展開する仮想マシン | ECS. g5ne.16xlargeインスタンスタイプのElastic Compute Service (ecs) インスタンスが使用されます。 詳細については、「インスタンスファミリーの概要」および「ECSの概要」をご参照ください。 |
インスタンスタイプ | テスト結果は、インスタンスタイプの影響を受けにくい。 テストインスタンスは、redis.amber.master.large.multithreadインスタンスタイプを使用します。 詳細については、「DRAMベースの標準インスタンス」をご参照ください。 |
テストツール
redis-benchmarkユーティリティが使用されます。 これは、Redisサービスのパフォーマンスをベンチマークするために使用されるオープンソースRedisの公式テストツールです。 詳細については、「Redisベンチマーク」をご参照ください。
このテストでは、redis-ベンチマーク6.0バージョンが使用されます。 -- threadsパラメーターがredis-benchmarkでサポートされていることを確認するには、Redis 6.0以降と互換性のあるインスタンスを使用します。 詳細については、『GitHub』をご参照ください。
テスト方法
このテストでは、redis-benchmarkを使用して、次の2つの設定でストレステストを実行します。
SETコマンドは、最大16スレッド、256接続、および100,000キーを持つテストインスタンスで実行されます。
./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
GETコマンドは、最大16スレッド、256接続、および100,000キーを持つテストインスタンスで実行されます。
./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
表 1. パラメーター
パラメーター | 説明 |
-h | Tairインスタンスの内部エンドポイント。 詳細については、「エンドポイントとポート番号の表示」をご参照ください。 |
-p | Tairインスタンスへの接続に使用されるサービスポート番号。 デフォルト値は 6379 です。 |
-a | Tairインスタンスへの接続に使用されるアカウントのパスワード。 説明 Tairコンソールで作成されたアカウントを使用してインスタンスに接続する場合、パスワードは |
-c | 同時接続の数。 |
-n | テストされたリクエストの総数。 連続ストレステストを有効にするには、このパラメーターを大きな値に設定します。 |
-t | テストで使用されるコマンド (GETまたはSETなど) 。 |
-d | SETまたはGETコマンドを使用して処理する値。 単位:バイト |
-r | 使用されるキーのランダムな範囲。 使用するキーの数を指定します。 |
-- threads | マルチスレッドのストレステストを実行し、スレッド数を指定します。 |
パラメーターの詳細については、「Redisベンチマーク」をご参照ください。
テスト結果
テストメトリック | 説明 |
QPS | 1秒あたりに処理される読み取りおよび書き込み操作の数。 |
Latency | 指定した割合の操作の平均レイテンシ。 単位:ミリ秒。 たとえば、 |
GETコマンドのテスト結果
値の長さ | QPS | レイテンシ (ms) |
64バイト | 444,115.47 | 0.00% <= 0.1ミリ秒 0.01% <= 0.2ミリ秒 0.05% <= 0.3ミリ秒 3.10% <= 0.4ミリ秒 31.02% <= 0.5ミリ秒 70.33% <= 0.6ミリ秒 99.67% <= 0.7ミリ秒 |
128 バイト | 435,276.94 | 0.00% <= 0.1ミリ秒 0.01% <= 0.2ミリ秒 0.04% <= 0.3ミリ秒 0.67% <= 0.4ミリ秒 18.28% <= 0.5ミリ秒 57.34% <= 0.6ミリ秒 86.72% <= 0.7ミリ秒 98.58% <= 0.8ミリ秒 99.88% <= 0.9ミリ秒 |
256バイト | 427,960.03 | 0.00% <= 0.1ミリ秒 0.02% <= 0.2ミリ秒 0.04% <= 0.3ミリ秒 1.38% <= 0.4ミリ秒 24.10% <= 0.5ミリ秒 62.43% <= 0.6ミリ秒 86.83% <= 0.7ミリ秒 98.13% <= 0.8ミリ秒 99.86% <= 0.9ミリ秒 |
1,024 バイト | 428,265.53 | 0.00% <= 0.1ミリ秒 0.02% <= 0.2ミリ秒 0.06% <= 0.3ミリ秒 3.92% <= 0.4ミリ秒 27.29% <= 0.5ミリ秒 62.92% <= 0.6ミリ秒 85.32% <= 0.7ミリ秒 96.47% <= 0.8ミリ秒 99.52% <= 0.9ミリ秒 |
SETコマンドのテスト結果
値の長さ | QPS | レイテンシ (ms) |
64バイト | 218,086.66 | 0.00% <= 0.1ミリ秒 0.00% <= 0.2ミリ秒 0.01% <= 0.3ミリ秒 0.01% <= 0.4ミリ秒 0.02% <= 0.5ミリ秒 0.04% <= 0.6ミリ秒 0.07% <= 0.7ミリ秒 0.09% <= 0.8ミリ秒 0.13% <= 0.9ミリ秒 0.49% <= 1.0ミリ秒 16.20% <= 1.1ミリ秒 81.83% <= 1.2ミリ秒 98.74% <= 1.3ミリ秒 99.74% <= 1.4ミリ秒 |
128 バイト | 206,825.23 | 0.00% <= 0.1ミリ秒 0.00% <= 0.2ミリ秒 0.00% <= 0.3ミリ秒 0.01% <= 0.4ミリ秒 0.01% <= 0.5ミリ秒 0.03% <= 0.6ミリ秒 0.05% <= 0.7ミリ秒 0.08% <= 0.8ミリ秒 0.14% <= 0.9ミリ秒 0.20% <= 1.0ミリ秒 1.08% <= 1.1ミリ秒 36.09% <= 1.2ミリ秒 93.36% <= 1.3ミリ秒 99.17% <= 1.4ミリ秒 |
256バイト | 203,086.92 | 0.00% <= 0.1ミリ秒 0.00% <= 0.2ミリ秒 0.00% <= 0.3ミリ秒 0.01% <= 0.4ミリ秒 0.01% <= 0.5ミリ秒 0.02% <= 0.6ミリ秒 0.04% <= 0.7ミリ秒 0.05% <= 0.8ミリ秒 0.08% <= 0.9ミリ秒 0.13% <= 1.0ミリ秒 1.01% <= 1.1ミリ秒 26.12% <= 1.2ミリ秒 91.45% <= 1.3ミリ秒 99.16% <= 1.4ミリ秒 |
1,024 バイト | 184,547.23 | 0.00% <= 0.1ミリ秒 0.00% <= 0.2ミリ秒 0.00% <= 0.3ミリ秒 0.00% <= 0.4ミリ秒 0.01% <= 0.5ミリ秒 0.02% <= 0.6ミリ秒 0.03% <= 0.7ミリ秒 0.05% <= 0.8ミリ秒 0.07% <= 0.9ミリ秒 0.09% <= 1.0ミリ秒 0.12% <= 1.1ミリ秒 0.30% <= 1.2ミリ秒 11.28% <= 1.3ミリ秒 75.67% <= 1.4ミリ秒 97.70% <= 1.5ミリ秒 99.41% <= 1.6ミリ秒 |