监视和报告.NET组件的性能

时间:2010-07-19 19:30:01

标签: .net performance performancecounter

我正在寻找一种解决方案,用于监控性能至关重要的系统的许多.NET组件。我一直在关注性能计数器,它通常提供所需的信息。

最终结果是我希望写入数据库的一些计数器能够报告。我想保留计数器的历史,但随着时间的推移进一步总结,即显示小时,日,周等的平均值。

性能和可用性是此系统的关键。性能计数器是可行的还是有更好的解决方案来收集所需的性能统计信息?我欢迎任何建议,链接等

3 个答案:

答案 0 :(得分:1)

我过去曾使用过perf计数器来记录给定应用程序正在发生的事情,但这完全取决于您想要的数据以及最终如何解释这些信息,但这是另一个问题。

我建议您可以创建一个单独的库,您可以从任何应用程序加载它,该应用程序将在其自己的线程上运行,监视连接到它的系统。您应该可以更改线程检查perf计数器的频率,因为如果您发现此线程正在占用CPU,您实际上不希望释放dll。

您可能已经知道System.Diagnostics命名空间,您可以在其中找到您可能需要的所有计数器!显然,没有什么可以阻止您将这些数据一旦收集到您选择的数据库中。 希望有点帮助。

答案 1 :(得分:0)

我的偏好类似于CA的Wily divison中的Introscope。字节代码用于检测应用程序(方面)并向中央监视服务器报告。

答案 2 :(得分:0)

查看PolyMon或PRTG,网址

http://polymon.codeplex.com/

http://www.paessler.com/prtg/

我使用PRTG并且它非常好,快速且稳定,唯一的缺点是你在免费软件版本中只有10个值可以测量(它们称之为传感器)。 Polymon是开源的,所以没有这样的限制。