我经常在我的一个网站上看到高负载平均值。我有警报设置,但导致高负载的原因并不明显,所以我想在警报响起时捕获系统的状态。
什么是捕获相关信息的好方法,以便我可以事后确定导致负载的原因?
这是 linux/ubuntu、apache、mod_python/django、mysql。
我经常在我的一个网站上看到高负载平均值。我有警报设置,但导致高负载的原因并不明显,所以我想在警报响起时捕获系统的状态。
什么是捕获相关信息的好方法,以便我可以事后确定导致负载的原因?
这是 linux/ubuntu、apache、mod_python/django、mysql。
我喜欢使用一个叫做 atop 的程序。http://www.atoptool.nl/ 与 top 类似,但它也以用户定义的时间间隔抓取 atop 窗口的快照。设置
INTERVAL=60
以/etc/atop/atop.daily
获取 1 分钟快照。运行atop -r /var/log/atop/atop_20100214
以查看特定日期的 1 分钟间隔。使用t和T键通过时间向前和向后查看。这些文件路径适用于 CentOS,您的可能略有不同。如果 Ubuntu 有 sar,那么它可以捕获系统磁盘使用情况、虚拟机活动等。一旦您设置计算机以收集数据,您就可以运行忙碌和非忙碌时间的报告来比较活动。Apache 有 mod_status,mysql 有一些统计工具,你可以通过 cron 定期从它们那里得到一些东西。
NewRelic拥有出色的工具来监控服务器负载的原因。从应用程序和服务器的角度来看。
应用程序监控,例如慢速 SQL 查询、错误率等
服务器监控指标,例如网络/磁盘/RAM/CPU 利用率
用户监控,例如按页面、位置、浏览器的性能;以及应用程序、网络、DOM 和渲染之间的加载时间分解。
我们已经在这里使用了将近 12 个月,它非常宝贵。你会得到一件免费的衬衫。