0

所以假设我在某个地方的云中托管了一个 MVC 应用程序,这意味着我无法访问 IIS 或任何基础设施。

我所能控制的只是应用程序代码本身,以及归结为客户端的内容。

我的目标

是随着时间的推移收集 MVC 应用程序在响应时间方面的性能数据。

当前问题

我可以从 Google Analyics 和其他客户端技巧中获得大量数据,但这并不能说明 App Pool 是否经常回收。

同样,如果我在动作中设置秒表,这不会告诉我应用程序启动中的任何延迟(如果它必须重新启动)。

此外,如果我确实在操作中放置了秒表,它不会考虑重新渲染视图的任何延迟。例如,即使这是不好的做法,也可能会从视图进行数据库调用,而我的操作指标不会考虑到这一点。

我的问题

因此,如果我想获得来自多个客户和用户的请求持续多长时间的真实指标,那么除了应用程序中的秒表之外,哪里是最好的地方。或者是否不可能从应用程序本身获得真正的指标,我必须在应用程序之外放置计数器(如在 IIS 中)。

4

2 回答 2

1

添加 New Relic,它作为 AppHarbor 服务的一部分免费提供 - https://appharbor.com/addons/newrelic

于 2012-04-27T09:19:25.473 回答
0

既然您提到“在某处的云中”,您是否使用 Microsoft Azure 进行托管?如果是这样,您可以使用 DiagnosticsMonitorConfiguration 记录到 Azure 存储中的一些很棒的诊断

这是有关如何将诊断添加到您的网络和辅助角色的教程。您可以在MSDN上找到性能计数器的完整列表

您可以从每秒应用程序请求、内存和 CPU 利用率、网络适配器统计信息、输出缓存命中/未命中、请求执行时间等方面获取所有信息。

于 2012-04-27T01:34:52.060 回答