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

posted @ 2018-02-07 13:04  stone-fly  阅读(777)  评论(0编辑  收藏  举报