我正在運行使用mongo分片羣集的節點(0.10.26)應用程序。我正在使用三個副本集作爲分片。這裏是我的其他配置細節mongod(v2.6.5)分片羣集查詢延遲問題?
硬件和操作系統設置
- EC2:m3.large(RAM:7.5G)
- Linux操作系統Ubuntu 12.04(內核:3.2.0-69虛擬64位)
- 磁盤:400g的SSD(EBS)(安裝有noatime的和的32預讀設定)
應用的負載模式
- 插入率= 20-30 /秒 大多數刀片是日誌收集和他們發生 所有的時間。
- 查詢率= 50-100 /秒
- 更新=〜30 /第二
蒙戈
- 存儲引擎:默認(mmapv1)
- 指數大小:3.5G
- 工作組:270 MB
- 貓鼬版本:3.8.25
- 蒙戈版本:2.6.5
我的應用程序提供下載日誌記錄爲具有一定過濾CSV文件的接口。當我嘗試csv下載時,應用程序變得非常慢。
經過一番調查後,我得出結論說,查詢日誌需要很長時間(> 2分鐘,有時長達10分鐘) 由於數據庫響應速度慢,應用程序也很慢
問題
爲什麼是需要長時間的日誌查詢。
如果我做了解釋(),我看到它碰到了索引。
mongostat(當以1秒的延遲運行時)表示有 有許多頁面錯誤發生(〜800 - 1100)/秒。查詢返回後頁面 故障消退。隨後的查詢在幾秒鐘內返回 。
工作集+索引大小= 3.7 G
RAM = 7.5 G.
大小日誌收集= 50g的
是否頻繁寫入日誌收集影響在同一採集讀取操作 。這種擔心是否適用於我的工作負荷?
你擁有了一個非常詳細的問題(我很高興看到這從一個新的用戶),但你可以保持平均每個職位有一個問題?在你的情況下,有4個。 –