tencent cloud

文档反馈

产品性能

最后更新时间:2024-01-11 15:49:28
    本文主要介绍针对腾讯云数据库 MongoDB 实例进行标准化的性能测试,测试得出的性能数据仅供用户参考。

    测试环境

    测试时间:2020年8月。
    客户端配置:云服务器 CVM 规格为8核32GB。经验证,实例规格较小时,一个8核32GB的 CVM 压测即可将副本实例 CPU 打满,且效果比多个 CVM 更好一些,当一个 CVM 压不到100%时,可用4个 CVM 均摊并发线程数来压测。
    测试对象:MongoDB 4.0 实例(副本集架构)。

    测试工具

    测试场景

    准备数据约10GB,对于每一种规格,用 YCSB 分别测试 0.5read/0.5update 和 0.95read/0.05update 场景下的 throughput(ops/sec)、RAL(us) 平均读时延、WAL(us) 平均写时延,主要关注100和200并发两种情况下的性能数据。

    时延

    CVM 到 MongoDB 实例的平均时延为0.35ms。 时延:Minimum = 0.30ms、Maximum = 0.44ms、Average = 0.35ms

    相关命令

    1. 准备数据 (约10GB)
    nohup ./ycsb-0.15.0/bin/ycsb load mongodb -s -P workloads/workloada
    -p mongodb.url=mongodb://mongouser:password@10.xx.xx.30:27017,10.xx.xx.28:27017,10.xx.xx.5:27017/admin?w=0 -p table=test -threads 300 -p recordcount=10000000>loadlog.txt &
    2. 0.5read/0.5update
    nohup ./ycsb-0.15.0/bin/ycsb run mongodb -s -P workloads/workloada -p mongodb.url=mongodb://mongouser: password @10.xx.xx.30:27017,10.xx.xx.28:27017,10.xx.xx.5:27017/admin?w=0 -p table=test -p recordcount=10000000 -p readproportion=0.5 -p updateproportion=0.5 -p insertproportion=0 -p operationcount=100000 -threads 100 >runlog.txt &
    3. 0.95read/0.05update
    nohup ./ycsb-0.15.0/bin/ycsb run mongodb -s -P workloads/workloada -p mongodb.url=mongodb://mongouser: password @10.xx.xx.30:27017,10.xx.xx.28:27017,10.xx.xx.5:27017/admin?w=0 -p table=test -p recordcount=10000000 -p readproportion=0.95 -p updateproportion=0.05 -p insertproportion=0 -p operationcount=100000 -threads 100 >runlog.txt &
    说明:
    -p operationcount=100000根据具体执行时间动态调整,需要保证执行时间在二十分钟以上,否则时间过短没有代表性。
    ?w=0中的 w 表示 write concern。
    w:1(应答式写入)要求确认操作已经传播到指定的单个 mongod 实例或副本集主实例,缺省为1。
    w:0(非应答式写入)不返回任何响应,所以无法知道写入是否成功,但对于尝试向已关闭的套接字写入或者网络故障会返回异常信息。
    w:>1(用于副本集环境)该值用于设定写入节点的数目,包括主节点。

    测试数据

    读&更新比50:50

    MongoDB 规格
    threads
    throughput(ops/sec)
    RAL(us)
    WAL(us)
    CPU 利用率
    2核4GB
    100
    3188
    24091
    38254
    100%
    2核4GB
    200
    5510
    34475
    38022
    100%
    4核8GB
    100
    7058
    8355
    19887
    100%
    4核8GB
    200
    13590
    14391
    14983
    100%
    6核16GB
    100
    8970
    22132
    51
    100%
    6核16GB
    200
    10041
    28696
    10966
    100%
    12核32GB
    100
    29462
    6727
    35
    100%
    12核32GB
    200
    47815
    4673
    3681
    100%
    24核64GB
    100
    107047
    1826
    33
    100%
    24核64GB
    200
    51046
    7802
    27
    100%
    24核128GB
    100
    130811
    1486
    32
    100%
    24核128GB
    200
    49274
    8054
    27
    100%
    32核240GB
    100
    154253
    1254
    32
    100%
    32核240GB
    200
    52148
    8243
    1108
    100%
    48核512GB
    100
    174284
    1103
    28
    100%
    48核512GB
    200
    121713
    3237
    32
    100%

    读&更新比95:5

    MongoDB 规格
    threads
    throughput(ops/sec)
    RAL(us)
    WAL(us)
    CPU 利用率
    2核4GB
    100
    2738
    38216
    178
    100%
    2核4GB
    200
    10093
    20178
    11561
    100%
    4核8GB
    100
    14380
    6864
    7631
    100%
    4核8GB
    200
    26459
    7651
    5369
    100%
    6核16GB
    100
    13707
    7650
    56
    100%
    6核16GB
    200
    45796
    4383
    3928
    100%
    12核32GB
    100
    115529
    902
    37
    100%
    12核32GB
    200
    56751
    3658
    31
    100%
    24核64GB
    100
    160227
    668
    29
    100%
    24核64GB
    200
    112755
    1876
    32
    100%
    24核128GB
    100
    159130
    659
    26
    100%
    24核128GB
    200
    112993
    1936
    32
    100%
    32核240GB
    100
    167518
    634
    28
    74%
    32核240GB
    200
    172424
    1244
    35
    100%
    48核512GB
    100
    173768
    608
    31
    50%
    48核512GB
    200
    211986
    1012
    33
    85%
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持