このトピックでは、Elastic Compute Service (ECS) インスタンスを使用して ApsaraDB for MongoDB スタンドアロンインスタンスにアクセスし、その高同時接続性能をベンチマークテストする方法について説明します。
前提条件
-
ECS インスタンスと ApsaraDB for MongoDB スタンドアロンインスタンスを作成します。 詳細については、「スタンドアロンインスタンスの作成」および「ECS インスタンスの作成」をご参照ください。
このテストで使用するインスタンスの設定は、次の表のとおりです。
パラメーター
ECS インスタンス
ApsaraDB for MongoDB スタンドアロンインスタンス
説明
リージョンとゾーン
中国 (杭州)、ゾーン H
中国 (杭州)、ゾーン H
ECS インスタンスと ApsaraDB for MongoDB スタンドアロンインスタンスを、同じリージョンとゾーンに配置します。
ネットワークタイプ
Virtual Private Cloud (VPC)
Virtual Private Cloud (VPC)
ECS インスタンスと ApsaraDB for MongoDB スタンドアロンインスタンスを、同じ VPC 内に配置します。
CPU とメモリ
16 コア、128 GB
-
仕様:8 コア、32 GB
-
ディスク領域:200 GB
N/A
インスタンスファミリー
ecs.hfr6
汎用
インスタンスタイプ
ecs.hfr6.4xlarge
dds.sn4.2xlarge.1
ストレージタイプ
Enhanced SSD (ESSD)
Enhanced SSD (ESSD)
イメージまたはエンジンバージョン
Alibaba Cloud Linux 3.2104 LTS 64-bit
MongoDB 4.0
-
-
ECS インスタンスの [プライマリプライベート IP アドレス]を ApsaraDB for MongoDB スタンドアロンインスタンスのホワイトリストに追加します。 詳細については、「インスタンスのホワイトリストの設定」をご参照ください。
-
オープンソースの Yahoo! Cloud Serving Benchmark (YCSB) ツールを ECS インスタンスにインストールします。 インストールと使用方法については、「YCSB」をご参照ください。
操作手順
-
ECS コンソールにログインし、ECS インスタンスに接続します。 詳細については、「ECS インスタンスへの接続」をご参照ください。
-
次のコマンドを実行して、ApsaraDB for MongoDB スタンドアロンインスタンスにデータをロードします。
./bin/ycsb load mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8次のパラメーターを、実際の値に置き換えてください。
-
123456Aa:ApsaraDB for MongoDB スタンドアロンインスタンスの root アカウントのパスワード。 -
dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717:ApsaraDB for MongoDB スタンドアロンインスタンスのプライマリノードの接続エンドポイント。説明ApsaraDB for MongoDB コンソールにログインします。Database Connection ページの [内部接続 - VPC] セクションでエンドポイントを確認します。
-
-
YCSB プロセスを開始し、さまざまなシナリオで読み書きテストを実行します。
シナリオ
テストコマンド
説明
8 つの同時操作
./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8次のパラメーターを、実際の値に置き換えてください。
-
123456Aa:ApsaraDB for MongoDB スタンドアロンインスタンスの root アカウントのパスワード。 -
dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717:ApsaraDB for MongoDB スタンドアロンインスタンスのプライマリノードの接続エンドポイント。説明ApsaraDB for MongoDB コンソールにログインします。Database Connection ページの [内部接続 - VPC] セクションでエンドポイントを確認します。
2,000 の同時操作
./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 200010,000 の同時操作
./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 10000 -
-
ApsaraDB for MongoDB スタンドアロンインスタンスへの接続数を確認します。
-
[スタンドアロンインスタンス] ページに移動し、ページの上部でリソースグループとリージョンを選択してから、対象のインスタンスの ID をクリックします。
-
インスタンス詳細ページのナビゲーションペインで、監視情報 をクリックします。
-
ノードモニタリング タブで時間範囲を選択し、CPU 使用率 (%)、[QPS]、および 接続数 のメトリックを確認します。
-
結果
-
8 コア CPU と 32 GB のメモリを搭載した ApsaraDB for MongoDB スタンドアロンインスタンスは、最大 10,000 の同時接続をサポートします。
-
接続は CPU リソースを消費するため、最適なパフォーマンスを得るには、接続数を妥当な範囲内に維持してください。
-
同時操作数が特定のしきい値に達すると、CPU 使用率と QPS は横ばいになります。 したがって、ビジネス要件に基づいて同時操作数を制御してください。