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比较平庸,但暂时还是优选。

  • 相关阅读:
    默认值设置
    关于设置 存储 内部存储空间只显示图片不显示视频的解决方法
    sd卡的监听
    android 设置时间12/24小时制
    详解BMP木马
    C#中类和接口的设计思想(本人认为比较好的思想,欢迎大家讨论指点)
    从XML中读取数据到内存的实例
    如何在代码中通过命令行创建SQL SERVER 数据库
    Visual Studio 2005 新特性 之 可空类型
    install shield11.5 如何制作卸载程序
  • 原文地址:https://www.cnblogs.com/stone-fly/p/8426084.html
Copyright © 2011-2022 走看看