zoukankan      html  css  js  c++  java
  • mongodb效率的简单测试

    测试环境:

    网络:内部的局域网

    服务器:4核,2.7GHZ,4g,1t

    客户端:i3,4g

    样本数据:

    key:数字

    value:2.66k xml数据

    测试1

      从客户端插入1百万条数据到服务器端数据库mongodb

      用时9分7秒

      数据库大小:3.95GB

    测试2

      从客户端插入1千万条数据到服务器端数据库mongodb

      用时1小时55分16秒

      数据库大小:29.9GB

      服务器资源:

        内存占用:3.8G,虚拟内存60G

        cpu:10%左右

      客户端:cpu 15%左右.

    测试3

      (压缩字符串)从客户端插入1百万条数据到服务器端数据库mongodb

       用时:4分51秒              不压缩的是9分7秒 

       数据库大小:1.95GB       不压缩的是3.95GB 

    测试4

        测试样本:2.9m的excel文件

        用小文件模式(存在document中)插入673条=1.95GB

        用时,4分30秒

     测试5

        测试样本:2.9m的excel文件

        用大文件模式插入673条=1.95GB

        用时30分43秒

    结论:

    可以看出1百万和1千万的时间差距很大,原因就是由于1千万的插入过程中,物理内存耗尽,开始使用虚拟内存,故效率大大降低。

    mongoDB占用内存和虚拟内存、网络带宽很多,服务器和客户端cpu占用较少,服务器升级应注重内存和硬盘。计通比较低。可以用压缩数据的方式提高计通比,从而提高程序的效率。

    mongoDB储存文件的限制是文件大小要小于4m。对于大于4m的文件,则必须用GridFS方式储存,参见

    http://www.cnblogs.com/lipan/archive/2011/03/21/1989409.html#viewSource

    所以插入大于4m的文件会慢的多,可以考虑从客户端限制excel文件的大小(例如要求用户将一个workbook分成几个单独的sheet).

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/tigerlove/p/2193860.html
Copyright © 2011-2022 走看看