Index
高頁面錯誤,在 MongoDB 中創建後台索引期間查詢/插入速度慢
我試圖在 mongodb 的後台創建兩個複合索引。根據 mongo doc 和其他來源,後台索引創建不應影響讀/寫。
但觀察到嚴重的性能問題。頁面錯誤從 4/s 躍升至 180/s,需要 300ms 才能完成的查詢,開始耗時 2 秒以上。
數據庫大小:40GB
文件:4000 萬
以前的索引大小:24GB
複合索引1:{field1:1,field2:-1}
複合索引2:{field3:1,field4:-1}
數據庫統計:{“db”:“response”,“collections”:4,“objects”:42253780,“avgObjSize”:1008.5294166817738,“dataSize”:42614180096,“storageSize”:43648786160,“numExtents”:4 “:14,“indexSize”:22113921536,“fileSize”:79352037376,“nsSizeMB”:16,“extentFreeList”:{“num”:53,“totalSize”:5861306368},“dataFileVersion”:{“major”:4 ,“次要”:22 },“好的”:1 }
免費 -m :
記憶體的總使用的空閒共享緩衝區記憶體:64314 63944 370 1 867 56077 -/+ 緩衝區/記憶體:7000 57314 交換:3999 434 3565
索引建構會影響數據庫的性能。雖然後台索引建構不會阻塞讀取或寫入,但說“索引創建不應該影響
$$ the performance of $$讀/寫”。 建立索引需要通過記憶體對整個集合進行分頁;這是出現頁面錯誤的原因。您可能希望一次只建構一個索引以減少此過程的影響。