zoukankan      html  css  js  c++  java
  • MySQL、PostgreSQL、MongoDB简单插入性能测试备忘

    平台 :windows 10,笔记本,i7、12G内存,
    软件版本:mySQL 5.7、postgreql 10.0、mongodDB 3.6.2
    程序:Java,Netbeans,20个线程同时插入
    1) MongoDB
      a)单条插入
        磁盘8-10M,
        300秒插入7883957条,每秒2.2万条
      b)批量插入,每次插入1000条
        CPU 100%
        磁盘 18M到40M,中值在30M左右
        100秒插入31782000条,每秒32万条
        需要注意一点,批量插入时,由于_id重复问题,增加了UUID字段,所以在生成速度上有影响,否则应该会更快。
    2)MySQL
      a )单条插入
        CPU 80%左右
        磁盘 15M左右
        300秒插入3623906条,每秒1.2万条
      b)批量插入,每次插入1000条
      CPU 100%
      磁盘 100M
    100秒 24615000条,每秒24万条
    3)PostgreSQL
    a) 单条插入
    CPU 100%
    磁盘 50M,比较稳定,下降时候不多
    300秒,插入5890466,每秒接近2万条
    b)批量插入
    CPU 100%
    磁盘:70M,波动很大
    100秒,插入16512000条,每秒16万条
    4)结论


    软件 MySQL PostgreSQL MongoDB
    版本 5.7  10.0 3.6.2
    单条插入 1.2万 2万 2.2万
    批量 24万 16万 32万


      单条插入:MongoDB>PostgreSQL>MySQL,其中Postgresql令人惊讶,速度比MongoDB稍差,接近MySQL的两倍。
      批量插入(每次1000条):MongoDB>MySQL>PostgreSQL,MySQL表现优异,PostgreSQL表现较差,其中MongoDB为了避免_Id重复问题,增加了UUID,影响了速度,如果不使用UUID,速度应该还会提高。
    5)建议
      综合考虑,PostgreSQL的性能较令人满意,但系统周边生态较差,相关开发人员也难以寻找,MongDB不负众望,插入速度较快,但相对PostgreSQL优势并不明显。
    MySQL比较平庸,但暂时还是优选。

  • 相关阅读:
    spring整合curator实现分布式锁
    curator操作zookeeper
    zk创建集群
    zookeeper下的基本操作
    java语音转文字
    netty的数据通信之心跳检测
    arm B和BL指令浅析
    NAND FLASH驱动程序
    外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
    内存接口原理图笔记
  • 原文地址:https://www.cnblogs.com/stone-fly/p/8426084.html
Copyright © 2011-2022 走看看