2013-01-23 105 views
1

我有一個大的數據集,只是足夠的RAM來存儲我的大部分數據(我有一些獨特的訪問模式)。我想看看我的數據庫性能是否下降,因爲我的工作集對於我的硬件來說太大了。哪個Linux工具可以用來監控MongoDB的性能?

我怎麼會這樣做呢?我可以使用哪些Linux工具。我目前在Ubuntu 11.04上使用Mongo 2.2。我應該看哪些指標?

更新:我想問一個更好的方法來問這個問題:「經驗豐富的mongo管理員用什麼工具來監控性能?

+0

您是否嘗試先使用'top'? –

+0

http://www.10gen.com/products/mongodb-monitoring-service也請看看下面的問題的答案:http://stackoverflow.com/questions/14061833/mongodb-count-with-查詢性能差 – cubbuk

+1

最好的最好的是彩信加上你可以通過它從10gen得到適當的支持,因爲他們可以看到統計信息,我會去MMS,它是一個不需要的。與鏈接的答案不同,索引不需要適合內存,而是工作集。這是一個常見的誤解 – Sammaye

回答

1

Mongostat應該爲您提供大部分您正在尋找的信息,只要表現良好。要查看的關鍵指標是索引缺失,頁面錯誤,鎖定百分比以及讀者和作者的隊列長度。如果這些數字很高(大於零的任何數值,理想情況下,如果它們變化不大),那麼你就有問題了。就工具而言,彩信足以開始,但個人而言,我發現自己每次需要查看性能時都會訴諸於mongostat。另外,查看日誌,根據配置文件級別,您應該在那裏看到緩慢的查詢,這應該讓您瞭解要優化哪些查詢(或操作)。

0

我發現了一些Monitoring commands here。這可能是你在找什麼? 至於你會用來跟蹤問題的工具,這裏是我如何做到這一點。

Nagios:我使用nagios作爲集中監控系統來檢查每臺服務器的運行狀況。它警告我,如果有些事情出錯了。例如,我設置了一些警報,例如我對API的響應時間超出了閾值。

Monit:如果事情完全瘋狂,monit會照顧它。假設我的堆棧的任何組件都關閉了。它警告我,併爲我提出。

Logstash:記錄在我的日誌中的任何可疑活動,它讓我知道。

SeaLion:現在,所有上述都讓我知道我的堆棧是否有問題。但是是什麼導致了這個問題,我使用SeaLion進行調試。我記錄系統分析工具的輸出,例如sar,top,uptime,iostat,vmstat,netstat等。除了這些命令,您還可以設置SeaLion所需的命令,並執行所有這些命令並以很好的時間線格式顯示。另外安裝和設置也非常簡單。

0

iostat會告訴你你的磁盤子系統是如何處理負載的。我喜歡iostat -x -k 1以獲得時間序列視圖。