我正在測試Mongo DB用於數據庫中一個巨大的表約300億記錄約200字節每個。我知道Sharding是這種音量所需要的,所以我試圖在一臺機器上獲得1到20億條記錄。我已經在具有2個CPU/6個內核和64 GB RAM的計算機上達到了10億條記錄。我輸入了沒有索引的文件,並且速度還可以(平均14k條記錄/秒)。我添加了索引,這需要很長時間,但這是可以的,因爲它是一次性的。現在將新記錄插入數據庫需要很長時間。據我所知,插入記錄(CPU,RAM和I/O狀態良好)時機器未加載。如何加速插入新記錄?MongoDB插入性能 - 巨大的表與幾個索引
3
A
回答
4
我建議將此主機添加到MMS(http://mms.10gen.com/help/overview.html#installation) - 確保您安裝了munin-node支持,這將爲您提供最多的信息。這可以讓你跟蹤什麼可能會減慢你的速度。對不起,我不能在答案中更具體,但這裏有很多很多可能的解釋。一些一般性的要點:
- 添加索引意味着,索引以及你的工作數據集將在RAM現在,這可能褪去,你的資源(查找頁面錯誤)
- 現在,你有指標,它們必須在插入時更新 - 如果所有內容都適合RAM,則應該是正常的,請參閱第一點
- 您還應該檢查磁盤IO,看看它是如何執行的 - 背景平均值如何顯示?
- 您是否正在運行正確的文件系統(XFS,ext4)和2.6.25以後的內核版本? (早期版本有fallocate問題())
跟進一些不錯的一般信息可以在這裏找到:
相關問題
- 1. MongoDB巨大的批量插入性能
- 2. 插入數據到一個巨大的索引表
- 3. 全文索引 - 在多個表上巨大的性能下降
- 4. 大索引插入性能下降(MYSQL)
- 5. 幾個插入性能c#
- 6. ORACLE在索引表上插入性能
- 7. Zend Lucene&Symfony:一個大的索引與幾個多個索引
- 8. mongodb搜索索引性能
- 9. MongoDB的索引和非索引性能
- 10. MongoDB批量插入性能
- 11. MongoDB:插入唯一索引
- 12. 巨大的數據輸入webform性能
- 13. 與大型數據集的視圖與索引表的性能
- 14. 提高大規模索引數據庫的性能插入
- 15. 搜索/索引巨大的文件達
- 16. Mongodb多索引搜索性能降低
- 17. 巨大的性能浸
- 18. 比較MongoDB和RethinkDB Bulk插入性能
- 19. MySQL分區的表與巨大的插入和刪除
- 20. 在一個巨大的表上添加一個有效的索引
- 21. MongoDB的多鍵索引性能比較
- 22. mongodb-分片上的巨大插入時間
- 23. 一個大表或歸兩個表中插入選擇性能
- 24. aspnet_Users表具有巨大的索引大小
- 25. 用mongodb索引:性能差/ indexOnly = false
- 26. 通過emacs插入幾行作爲一個巨大文件的頭部?
- 27. 加入巨大的表
- 28. Mongodb構建是巨大的
- 29. 索引巨大表格所需的建議
- 30. mongoDB做了一個巨大的集合影響其他集合的性能?
你能告訴我們的插入速度是什麼呢?也許平均每個插入毫秒。 – 2012-03-27 17:15:44
現在的插入速度,在表中有10億條記錄,並且定義了2個索引,每秒大約有200條記錄。 – 2012-04-01 10:28:08
2指數是什麼樣的指數? _id或稀疏或獨特或正常? – jianpx 2013-01-26 03:46:45