Mongodb插入、批量插入和分页查询性能测试

database

  • 处理器名称: Intel Core i7
  • 处理器速度: 2.5 GHz
  • 处理器数目: 1
  • 核总数: 4
  • L2 缓存(每个核): 256 KB
  • L3 缓存: 6 MB
  • 内存: 16 GB

  • 测试软件环境

    • MongoDB v3.2.4
    • 300W存量数据
  • 1.1 单条插入性能测试

    插入数据大小30字节

    插入条数(单位:万)

    耗时(单位:毫秒)

    1

    999

    2

    2176

    5

    5140

    10

    10198

    结论:在当前测试环境下每秒写入速度为1万

    1.2 单条读取性能测试

    测试语句

    db.follower.find({"user_id":1000069, "follower_id": 1000089}).Limit(1)

    读取条数(单位:万)

    耗时(单位:毫秒)

    1

    1227

    2

    2383

    5

    6024

    10

    12196

    结论: 每秒读取速度 8000

    1.3 分页读取性能测试——采用Skip实现

    测试语句

    mg.C("follower").Find(condition).Sort("-_id").Skip(10000).Limit(10).All() 

    按照每页10条计算

    功能场景

    耗时(单位:毫秒)

    读取10000条之后的 10条数据

    15

    读取50000条之后的 10条数据

    70

    读取100000条之后的 10条数据

    140

    结论:
    随着查询偏移量的上升(1w, 5w, 10w),查询耗时出现线性增长。尽量避免使用 Skip 做为分页策略

    1.4 批量写入性能测试

    插入数据大小30字节

    一次插入条数

    耗时(单位:毫秒)

    速度 (单位: 毫秒/条)

    5000

    80

    0.016

    2000

    32

    0.016

    1000

    18

    0.018

    100

    2.15

    0.0215

    结论:批次插入越多,单位时间越少


    作者:baboon
    链接:https://www.jianshu.com/p/c1ba8c45e6bf
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    以上是 Mongodb插入、批量插入和分页查询性能测试 的全部内容, 来源链接: utcz.com/z/532170.html

    回到顶部