识别应用程序中的性能不佳

时间:2012-09-03 16:48:24

标签: monitoring performance-testing performance

我们正在构建高性能的Web应用程序。

不幸的是,有时性能会意外降低,我们希望能够对其进行监控,以便我们可以在问题发生时主动解决问题,而不是等待用户报告问题。

到目前为止,我们正在为系统监视器设置服务器内存使用率,CPU使用率以及收集数据库统计信息等指标。

虽然这些显示了系统的整体运行状况,但是当一个特定用户的会话速度很慢时,它们无法帮助我们。我们已经在我们的C#应用​​程序中实现了跟踪,这在识别数据是罪魁祸首的问题时特别有用,但出于性能原因,跟踪将默认关闭,并且仅在尝试解决问题时启用。

所以我的问题是我们应该考虑其他任何最佳实践(例如WMI)吗?还有什么我们应该考虑构建到我们的网络应用程序中,这将使我们受益而不会成为性能负担吗?

3 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您的应用程序,但我始终建议您将应用程序指标添加到监控中。例如,最近图片上传的数量,并发用户的数量 - 我想你明白了。将应用程序特定指标与内存或CPU等服务器指标相结合,有时可以提供有价值的见解。

答案 1 :(得分:0)

除了负载,磁盘空间等参数的系统健康监控(使用Nagios)之外,我们

  • 内置了一个REST服务,从Nagios调用,提供统计信息
    • 交易持续第二(在我们的案例中有意义)
    • 活动会话数
    • 每分钟日志中的错误数
    • ....
    • 简而言之,任何特定于应用程序的内容
  • 监控(虚拟)往返交易所需的时间:好像用户或系统正在执行业务功能

所有这些数据都被发送回Nagios,然后我们配置警报级别和通知。

我们发现,监控日志中错误条目的数量可以为许多系统提供一些关于重大崩溃/问题的短期警告。

答案 2 :(得分:0)

我们的许多客户使用处理健康监控的系统和应用程序监视器以及合成最终用户监视器,后者运行连续综合事务,从最终用户的角度向您展示Web应用程序的性能。它适用于防火墙外部和后面的应用程序。用户经常告诉我们SEUM将在某些地点或一天的特定时间显示可用性问题。您可以在

下载免费试用版

SolarWinds.com。