Index

高頁面錯誤,在 MongoDB 中創建後台索引期間查詢/插入速度慢

  • September 30, 2016

我試圖在 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 $$讀/寫”。 建立索引需要通過記憶體對整個集合進行分頁;這是出現頁面錯誤的原因。您可能希望一次只建構一個索引以減少此過程的影響。

引用自:https://dba.stackexchange.com/questions/150904