• MySQL和MongoDB的性能测试


    软硬件环境

    MySQL版本:5.1.50,驱动版本:5.1.6(最新的5.1.13有很多杂七杂八的问题)

    MongoDB版本:1.6.2,驱动版本:2.1

    操作系统:Windows XP SP3(这个影响应该不大)

    CPU:Intel Core2 E6550 2.33G

    内存:2G(足够了)

    MySQL启动参数:binmysqld --no-defaults --console --character-set-server=utf8 --max_connections=1000 --max_user_connections=1000

    MongoDB启动参数:binmongod --dbpath data --directoryperdb --rest --maxConns 1000 –quiet

    除了加大最大连接数之外,均使用默认参数

    测试

    该测试主要为改进当前系统的日志的存储和查询性能提供参考,所以表的创建也以实际情况为例,下面是MySQL的建表语句:

    CREATE TABLE `flt_evecurrent` (

      `NodeID` int(11) NOT NULL DEFAULT '0',

      `FltID` int(11) NOT NULL DEFAULT '0',

      `ObjID` int(11) DEFAULT NULL,

      `StationID` int(11) DEFAULT NULL,

      `EveType` int(11) DEFAULT NULL,

      `Severity` int(11) DEFAULT NULL,

      `ReportTime` date DEFAULT NULL,

      `CreateTime` date DEFAULT NULL,

      `EveContent` varchar(1024) DEFAULT NULL,

      `EveDesc` varchar(256) DEFAULT NULL,

      PRIMARY KEY (`NodeID`,`FltID`)

    );

    MongoDB类似,索引按照查询语句的查询字段创建,该例子中为ObjID和CreateTime两个字段创建索引。

    分别插入100万条记录,并对其做100个用户并发查询操作。

    MySQL每一次都Drop表,MongoDB每一次都删除data目录。

    查询的时候,从第二次查询开始,连续记录三次。

    结果

    插入时间

    查询时间

    MySQL InnoDB引擎 无索引

    10分33秒

    39.516秒、35.907秒、39.907秒

    MySQL InnoDB引擎 有索引

    11分16秒

    非常不稳定:22.531秒、13.078秒、23.078秒、26.047秒、21.234秒、28.469秒、20.922秒、13.328秒

    MySQL MyISAM引擎 无索引

    3分21秒

    22.812秒、23.343秒、23.125秒

    MySQL MyISAM引擎 有索引

    3分50秒

    10.312秒、10.359秒、10.296秒

    MongoDB无索引

    37秒

    59.531秒、60.063秒、59.891秒

    MongoDB有索引

    50秒

    3.484秒、3.453秒、3.453秒

    磁盘空间占用(有索引时候的占用,无索引情况差不多):

    MySQL MyISAM:57MB

    MySQL InnoDB:264MB

    MongoDB:464MB

    另外测试中还发现一个有意思的现象,如果MongoDB查询中,如果单独查询ObjID字段,耗时约1秒,如果单独查询CreateTime字段,耗时约10秒,如果两个字段合起来查,就是上面的结果,约3秒,估计MongoDB内部对查询顺序作了优化吧。

  • 相关阅读:
    pytorch dataloader num_workers堵塞、卡死解决方法(对我来说本质原因是OSError: [WinError 1455] 页面文件太小,无法完成操作)
    opencv
    深度学习 图片分类调参小结
    Pytorch错误:Torch not compiled with CUDA enabled
    关于Windows与NOI LINUX虚拟机复制粘贴的问题
    [复习]基础背包dp
    模拟 8
    [复习]基础线性dp
    [复习]分块/莫队
    [复习]线段树基础
  • 原文地址:https://www.cnblogs.com/jthb/p/4048143.html
Copyright © 2020-2023  润新知