-
測試硬件環境 MacPro
- 處理器名稱: Intel Core i7
- 處理器速度: 2.5 GHz
- 處理器數目: 1
- 核總數: 4
- L2 緩存(每個核): 256 KB
- L3 緩存: 6 MB
- 內存: 16 GB
-
測試軟件環境
- MongoDB v3.2.4
- 300W存量數據
1.1 單條插入性能測試
插入數據大小30字節
插入條數(單位:萬) | 耗時(單位:毫秒) |
---|---|
1 | 999 |
2 | 2176 |
5 | 5140 |
10 | 10198 |
結論:在當前測試環境下每秒寫入速度為1萬
1.2 單條讀取性能測試
測試語句
db.follower.find({'user_id':1000069, 'follower_id': 1000089}).Limit(1)
讀取條數(單位:萬) | 耗時(單位:毫秒) |
---|---|
1 | 1227 |
2 | 2383 |
5 | 6024 |
10 | 12196 |
結論: 每秒讀取速度 8000
1.3 分頁讀取性能測試——采用Skip實現
測試語句
mg.C("follower").Find(condition).Sort("-_id").Skip(10000).Limit(10).All()
按照每頁10條計算
功能場景 | 耗時(單位:毫秒) |
---|---|
讀取10000條之后的 10條數據 | 15 |
讀取50000條之后的 10條數據 | 70 |
讀取100000條之后的 10條數據 | 140 |
結論:
隨着查詢偏移量的上升(1w, 5w, 10w),查詢耗時出現線性增長。盡量避免使用 Skip 做為分頁策略
1.4 批量寫入性能測試
插入數據大小30字節
一次插入條數 | 耗時(單位:毫秒) | 速度 (單位: 毫秒/條) |
---|---|---|
5000 | 80 | 0.016 |
2000 | 32 | 0.016 |
1000 | 18 | 0.018 |
100 | 2.15 | 0.0215 |
結論:批次插入越多,單位時間越少
作者:baboon
鏈接:https://www.jianshu.com/p/c1ba8c45e6bf
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。