高负载时的系统快照?

高负载时的系统快照?

我发现我的一个网站在特定时间的平均负载较高。我设置了警报,但不清楚导致高负载的原因,因此我想在警报响起时捕获系统的状态。

有什么好方法可以捕获相关信息,以便我可以事后确定导致负载的原因?

这是 linux/ubuntu、apache、mod_python/django、mysql。

答案1

我喜欢使用一个名为 atop 的程序。http://www.atoptool.nl/ 与 top 类似,但它还会以用户定义的间隔抓取 atop 窗口的快照。设置INTERVAL=60/etc/atop/atop.daily获取 1 分钟快照。运行atop -r /var/log/atop/atop_20100214以查看特定日期的 1 分钟间隔。使用tT键可向前和向后查看时间。这些文件路径适用于 CentOS,您的路径可能略有不同。

答案2

如果 Ubuntu 有 sar,那么它可以捕获系统磁盘使用情况、vm 活动等。一旦您设置了计算机来收集数据,您就可以运行繁忙和非繁忙时间的报告来比较活动。Apache 有 mod_status,mysql 有一些统计工具,您可能可以通过 cron 定期从它们那里获取一些信息。

答案3

新Relic有出色的工具来监控服务器负载的原因。无论是从应用程序还是服务器的角度来看。

应用程序监控例如 SQL 查询速度慢、错误率等

服务器监控网络/磁盘/RAM/CPU 利用率等指标

用户监控例如按页面、位置、浏览器的性能;以及应用程序、网络、DOM 和渲染之间的加载时间细分。

我们在这里用了将近 12 个月,它非常有价值。而且你还可以免费获得一件衬衫。

相关内容