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).

  • 相关阅读:
    学渣逆袭回忆录:0序
    selenium和Firefox版本不兼容
    学习Python的第一课(简单的单元测试)
    C# 实现模拟登录功能,实现公共类分享。
    MVC之权限管理-网站开发之路
    程序员学习之路
    【数据结构】浅谈线性数据结构
    【数据结构】二叉堆
    tire 学习心得
    洛谷P1801 黑匣子
  • 原文地址:https://www.cnblogs.com/tigerlove/p/2193860.html
Copyright © 2011-2022 走看看