• 【转载】MongoDB 1000W级数据 Insert和Query和Delete性能测试


    加索引测试:

    1. > db.users.getIndexes()  
    2. [  
    3.         {  
    4.                 "name" : "_id_",  
    5.                 "ns" : "test.users",  
    6.                 "key" : {  
    7.                         "_id" : 1  
    8.                 },  
    9.                 "v" : 0  
    10.         }  
    11. ]  
    12. > db.users.ensureIndex({NewsId:1})  
    13. > db.users.getIndexes()             
    14. [  
    15.         {  
    16.                 "name" : "_id_",  
    17.                 "ns" : "test.users",  
    18.                 "key" : {  
    19.                         "_id" : 1  
    20.                 },  
    21.                 "v" : 0  
    22.         },  
    23.         {  
    24.                 "_id" : ObjectId("4e2cc408572ff09d98851cb7"),  
    25.                 "ns" : "test.users",  
    26.                 "key" : {  
    27.                         "NewsId" : 1  
    28.                 },  
    29.                 "name" : "NewsId_1",  
    30.                 "v" : 0  
    31.         }  
    32. ]  

    ......................# MongoDB 加索引 插入1000W条测试 #...................

    1. ^_^[root@:~/svn/nugget/MongoDB/utest]#./insertData   
    2. MongoDB Connected OK!  
    3. Time:2019s:19419μs  

    ......................# MongoDB 加索引 1000W条测试遍历测试 #...................

    还是一样取最后一条数据,然后看下性能:

    1. ^_^[root@:/usr/local/mongodb/bin]#./mongo <bat.js   
    2. MongoDB shell version: 1.8.2  
    3. connecting to: test  
    4. > var startTime = new Date();  
    5. >   
    6. > db.users.find({NewsId:"nxuvdqtjrrptoyildolesbkqmd"});  
    7. "_id" : ObjectId("4e2ccc2ea1ca039d82b9e4b3"), "NewsId" : "nxuvdqtjrrptoyildolesbkqmd" }  
    8. >   
    9. > (new Date().getTime()-startTime.getTime())/1000  
    10. 0.022s  
    11. > bye  

    ......................# MongoDB 加索引 删除1000W条测试 #...................

    1. ^_^[root@:/usr/local/mongodb/bin]#./mongo 10.7.3.228 < bat.js  
    2. MongoDB shell version: 1.8.2  
    3. connecting to: 10.7.3.228/test  
    4. > var startTime = new Date();    
    5. //db.users.find({NewsId:"csgsqdglbyfuwdjfkkrxgzyacc"});     
    6. > db.users.remove()  
    7. > (new Date().getTime()-startTime.getTime())/1000   
    8. 570.782  
    9. > bye  
    ......................# MongoDB 加索引 1000W中删除一条测试 #...................
     
    1. ^_^[root@:/usr/local/mongodb/bin]#./mongo 10.7.3.228 < bat.js  
    2. MongoDB shell version: 1.8.2  
    3. connecting to: 10.7.3.228/test  
    4. > var startTime = new Date();    
    5. //db.users.find({NewsId:"csgsqdglbyfuwdjfkkrxgzyacc"});     
    6. > db.users.remove({"NewsId":"cikjwikamhtixoykrrfjnepkwu"})  
    7. > (new Date().getTime()-startTime.getTime())/1000   
    8. 0.025  
    9. > bye  

    总结下测试数据吧:

    没索引
    添加 1 千万 记录  Time:207s:194125μs   

    查询 5.846s

    删除全部 103.94s  

    删除最后一条 3.991s



    有索引
    添加 1 千万 记录 Time:2019s:19419μs 

    查询 0.022s 

     

    删除全部 570.782s  

    删除最后一条 0.025s

  • 相关阅读:
    CentOS7 使用定时任务
    springboot整合mybatis+mysql+druid数据源
    js 防抖和节流,封装成函数
    vue 单页面项目卸载依赖和插件的方式
    Tomcat部署vue单页面项目
    linux DRM/KMS 测试工具 modetest、kmscude、igt-gpu-tools (二)
    linux DRM/KMS 测试工具 modetest、kmscude、igt-gpu-tools (一)
    软构设计模式简单归纳
    软件构造复习中关于不变性的一个疑问以及代码验证
    代码快照图与可变不可变
  • 原文地址:https://www.cnblogs.com/jecob/p/3691681.html
Copyright © 2020-2023  润新知