1. 程式人生 > >mongoDB批量插入資料效能分析、索引效率

mongoDB批量插入資料效能分析、索引效率

硬體環境:

一臺華碩筆記本 AMD Athlon(tm) X2 Dual-Core ,1GB

軟體環境:

單機測試 ,非叢集環境 ,python指令碼讀取一個含60W條資料的檔案,插入資料庫。

測試方法:

批量插入n條資料,測試cpu、記憶體、執行時間資料。

測試結果

測試結果
資料量 cpu使用率 記憶體使用率 執行時間
1000 99% 3% 0.19
5000 99% 4% 0.9s
1W 99$ 6% 1.9s
10W 99% 20% 19s

結果分析:

在環境下,隨著一次批量插入的資料量的增加,平均單個數據插入耗時不變,cpu一直處於飽和狀態,記憶體使用路不斷增加。故,一次插入10000條以上資料不合適。

PS:python在讀取60W條資料的檔案,儲存到陣列中,耗時不到一秒,這是java遠不能及的。。。。

        mongodb插入資料的時候,資料庫中本來就有幾十萬條資料,插入的速度沒有因此而降低。

索引效能分析

在插入資料的時候,如果資料庫簡歷了索引,會有一些效能損耗,但是查詢的時候,如果使用索引速度會大大提升。

是否使用索引 插入1W條資料耗時 從120W條資料中查詢一條資料【根據索引查詢】
          是              1.9s                                               0s
          否               1.8s                                               2.3s

結論:用索引,太好了,插入的時候那點效能損耗可以忽略。【這不廢話嗎。。。】