哪个Linux工具可用于监控MongoDB性能?

时间:2013-01-23 06:44:09

标签: mongodb ubuntu-11.04 database-performance mongodb-query

我有一个大型数据集,只有足够的RAM来存储我的大部分数据(我有一些独特的访问模式)。我想看看我的数据库性能是否有降低,因为我的工作集对于我的硬件来说太大了。

我将如何做到这一点?我可以使用哪些Linux工具。我目前在Ubuntu 11.04上使用Mongo 2.2。我应该关注哪些指标?

更新:我想更好的方式来问这个问题的是“经验丰富的mongo管理员使用哪些工具来监控性能?”

3 个答案:

答案 0 :(得分:1)

就性能而言,

Mongostat应该会为您提供您正在寻找的大部分信息。要考虑的关键指标是索引未命中,页面错误,锁定百分比以及读者和编写者的队列长度。如果这些数字很高(任何高于零的数据,理想情况下,如果它们的变化不大,那么你就会出现问题)。

就工具而言,MMS已经足够好开始了,但我个人每次不得不考虑性能时都会使用mongostat。另外,根据您应该在其中看到慢查询的配置文件级别查看日志,这可以让您了解要优化的查询(或操作)。

答案 1 :(得分:0)

我找到了一些Monitoring commands here。这可能是你想要的吗? 至于你用来跟踪问题的工具,我就是这样做的。

Nagios :我使用nagios作为集中监控系统来检查每台服务器的运行状况。如果出现问题,它会提醒我。例如,我为某些情况设置了警报,例如我对API的响应时间是否超过阈值。

Monit :如果事情变得完全疯狂,monit会照顾它。假设我的堆栈中的任何组件都出现故障。它提醒我并为我提起。

Logstash :我的日志中记录了任何可疑活动,它让我知道。

SeaLion :现在以上所有内容都让我知道我的堆栈是否存在问题。但是导致问题的原因是我用SeaLion进行调试。我记录系统分析工具的输出,如sar,top,uptime,iostat,vmstat,netstat等。除了这些命令,你可以在SeaLion上设置你需要的命令,它执行所有这些命令,并以漂亮的时间轴格式显示它。安装和设置也非常简单。

答案 2 :(得分:0)

iostat会告诉您磁盘子系统如何处理负载。我喜欢iostat -x -k 1的时间序列视图。