2011-01-21 66 views
3

我一直在使用mongostats來診斷mongodb實例內的整體活動。我怎樣才能使用它來診斷性能問題/降級?如何使用mongostats診斷mongodb內部的性能問題

我真的很想了解更多關於鎖定%和預期行爲的所有其他字段的結果。

我覺得這個功能有點模糊,需要刷新一些。

回答

6

鎖定的百分比是每個採樣全局寫入鎖定(記住,mongo具有進程寬寫入鎖定)的時間百分比。當您增加寫入次數(插入,更新,刪除,db.eval()等)時,此百分比將增加。高值意味着數據庫花費了大量的時間被鎖定,等待寫入完成,因此在鎖定被釋放之前不能完成查詢。因此,整體查詢吞吐量將會降低(有時會顯着)。

「故障」意味着mongo正在嘗試命中映射到虛擬內存空間但未映射到物理內存的數據。基本上,這意味着它打擊的是磁盤而不是內存,這表明你沒有足夠的內存(或者,例如,索引不正確)。如果內存服務,這隻在Linux上可用。這應該儘可能接近於0。

「qr:qw」是讀取和寫入查詢隊列,如果它們不爲零,則意味着服務器正在接收的查詢數量比它能夠處理的數量多。除非這個數字一直很高或不斷增長,否則這不一定是個問題。指示整體系統性能不足以支持您的查詢吞吐量。

大多數其他領域是相當自我解釋或沒有用。如果您希望被限制,netIn/Out會很有用。如果這些值接近您的最大網絡帶寬,就會發生這種情況。