MySQL、PostgreSQL、MongoDB簡單插入性能測試備忘

平臺 :windows 10,筆記本,i七、12G內存,
軟件版本:mySQL 5.七、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)結論


sql

軟件 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比較平庸,但暫時仍是優選。windows

相關文章
相關標籤/搜索