單節(jié)點實例高連接能力測試
本文通過ECS訪問云數(shù)據(jù)庫MongoDB,測試云數(shù)據(jù)庫MongoDB單節(jié)點實例的高連接能力。
準(zhǔn)備工作
創(chuàng)建ECS實例和云數(shù)據(jù)庫MongoDB單節(jié)點實例。如何創(chuàng)建,請參見創(chuàng)建單節(jié)點實例和創(chuàng)建ECS實例。
本測試的實例配置如下:
配置項
ECS實例
云數(shù)據(jù)庫MongoDB單節(jié)點實例
說明
地域及可用區(qū)
華東1(杭州)可用區(qū)H
華東1(杭州)可用區(qū)H
ECS實例和云數(shù)據(jù)庫MongoDB單節(jié)點實例在同一地域及可用區(qū)。
網(wǎng)絡(luò)類型
專有網(wǎng)絡(luò)VPC
專有網(wǎng)絡(luò)VPC
ECS實例和云數(shù)據(jù)庫MongoDB單節(jié)點實例在同一VPC。
CPU和內(nèi)存
16核 128 GB
規(guī)格類型:8核 32 GB
磁盤空間:200 GB
不涉及
實例規(guī)格族
ecs.hfr6
通用型
實例規(guī)格
ecs.hfr6.4xlarge
dds.sn4.2xlarge.1
存儲類型
ESSD云盤
ESSD云盤
實例或鏡像版本
Alibaba Cloud Linux 3.2104 LTS 64位
MongoDB 4.0
將ECS實例的主私網(wǎng)IP添加到云數(shù)據(jù)庫MongoDB單節(jié)點實例的白名單中。如何添加,請參見設(shè)置白名單。
在ECS實例上安裝開源社區(qū)的YCSB工具。如何安裝和使用,請參見YCSB。
測試步驟
執(zhí)行如下測試命令,加載數(shù)據(jù)至云數(shù)據(jù)庫MongoDB單節(jié)點實例。
./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
您需要替換如下參數(shù)值:
123456Aa
:云數(shù)據(jù)庫MongoDB單節(jié)點實例的root賬號密碼。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717
:云數(shù)據(jù)庫MongoDB單節(jié)點實例的主節(jié)點連接地址。說明您可以登錄云數(shù)據(jù)庫MongoDB控制臺,在數(shù)據(jù)庫連接頁面的私網(wǎng)連接 - 專有網(wǎng)絡(luò)區(qū)域查看連接地址。
啟動YCSB進(jìn)程,根據(jù)不同場景進(jìn)行讀寫測試。
場景
測試命令
說明
并發(fā)數(shù)為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
您需要替換如下參數(shù)值:
123456Aa
:云數(shù)據(jù)庫MongoDB單節(jié)點實例的root賬號密碼。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717
:云數(shù)據(jù)庫MongoDB單節(jié)點實例的主節(jié)點連接地址。說明您可以登錄云數(shù)據(jù)庫MongoDB控制臺,在數(shù)據(jù)庫連接頁面的私網(wǎng)連接 - 專有網(wǎng)絡(luò)區(qū)域查看連接地址。
并發(fā)數(shù)為2000
./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 2000
并發(fā)數(shù)為10000
./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
查看云數(shù)據(jù)庫MongoDB單節(jié)點實例的連接數(shù)。
訪問MongoDB副本集實例列表,在上方選擇資源組和地域,然后單擊目標(biāo)實例ID。
在目標(biāo)實例頁面的左側(cè)導(dǎo)航欄,單擊監(jiān)控信息。
在基本監(jiān)控的頁簽下,選擇時間,查看實例的CPU使用率(%)、操作QPS數(shù)(個)和連接數(shù)。
場景
CPU使用率
操作QPS數(shù)
連接數(shù)
并發(fā)數(shù)為8
并發(fā)數(shù)為2000
并發(fā)數(shù)為10000
測試結(jié)果
規(guī)格為8核 32 GB的云數(shù)據(jù)庫MongoDB單節(jié)點實例有能力承受10000個連接。
連接實例會占用實例的一部分CPU資源,建議將連接數(shù)控制在一定范圍內(nèi)。
并發(fā)數(shù)增加到一定數(shù)量后,CPU使用率和操作QPS數(shù)不再隨著并發(fā)數(shù)的增加而提高。您需要根據(jù)自身業(yè)務(wù)情況,合理控制并發(fā)數(shù)。