このトピックでは、Elastic Compute Service (ECS) インスタンスを使用して、ApsaraDB for MongoDB スタンドアロンインスタンスの接続容量をベンチマークする方法について説明します。
前提条件
ECS インスタンスと ApsaraDB for MongoDB スタンドアロンインスタンスを作成します。詳細については、「スタンドアロンインスタンスの作成」および「ECS インスタンスの作成」をご参照ください。
次の表に、このベンチマークテストのインスタンス構成を示します。
パラメーター
ECS インスタンス
スタンドアロン MongoDB インスタンス
説明
リージョンとゾーン
中国 (杭州) Zone H
中国 (杭州) Zone H
両方のインスタンスは同じリージョンとゾーンにある必要があります。
ネットワークタイプ
VPC
VPC
両方のインスタンスは同じ VPC にある必要があります。
CPU とメモリ
16 コア、128 GB
仕様:8 コア、32 GB
ディスク容量:200 GB
該当なし
インスタンスファミリー
ecs.hfr6
汎用
インスタンスタイプ
ecs.hfr6.4xlarge
dds.sn4.2xlarge.1
ストレージタイプ
ESSD
ESSD
イメージまたはエンジンバージョン
Alibaba Cloud Linux 3.2104 LTS 64 ビット
MongoDB 4.0
ECS インスタンスの [プライマリプライベート IP] を ApsaraDB for MongoDB スタンドアロンインスタンスのホワイトリストに追加します。詳細については、「インスタンスのホワイトリストの設定」をご参照ください。
ECS インスタンスに Yahoo! Cloud Serving Benchmark (YCSB) ツールをインストールします。YCSB のインストールと使用方法の詳細については、YCSB GitHub リポジトリをご参照ください。
操作手順
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 スタンドアロンインスタンスのルートアカウントのパスワード。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717:ApsaraDB for MongoDB スタンドアロンインスタンスのプライマリノードの接続エンドポイント。説明接続エンドポイントは、ApsaraDB for MongoDB コンソール の [データベース接続] ページの [内部接続 - 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 スタンドアロンインスタンスのルートアカウントのパスワード。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717:ApsaraDB for MongoDB スタンドアロンインスタンスのプライマリノードの接続エンドポイント。説明接続エンドポイントは、[内部接続 - VPC] セクションの [データベース接続] ページで確認できます。このページは、ApsaraDB for MongoDB コンソール にあります。
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 10000ApsaraDB for MongoDB スタンドアロンインスタンスへの接続数を監視します。
レプリカセットインスタンスページに移動します。上部のナビゲーションバーで、リソースグループとリージョンを選択し、ターゲットインスタンスの ID をクリックします。
インスタンス詳細ページの左側のナビゲーションウィンドウで、監視情報 をクリックします。
[基本モニタリング] タブで、時間範囲を選択し、インスタンスの [CPU 使用率 (%)]、[QPS]、および [接続] メトリックを表示します。
テスト結果
8 コア、32 GB メモリの ApsaraDB for MongoDB スタンドアロンインスタンスは、10,000 の接続を処理できます。
インスタンスへの接続は CPU リソースを消費します。CPU 消費を管理するために、接続数を適切な範囲に保ってください。
同時操作数が特定のしきい値に達すると、CPU 使用率と QPS は横ばいになります。したがって、ビジネス要件に基づいて同時操作数を制御してください。