记录ASP.NET MVC性能指标

时间:2009-07-03 16:39:59

标签: .net asp.net-mvc web-services

我们希望计算ASP.NET MVC应用程序中某些操作运行的时间。每次调用控制器操作时,我们都使用ActionFilters来启动和停止计时器。结果是一个小数据集,有点像这样:

{
   ContollerName: 'Account',
   ActionName: 'Index',
   ExecutionDuration: 287,
   TimeRecorded: '2009-07-02 17:34:54'
}

我们希望将这些数据传输到Web服务,以便我们可以收集并稍后对其进行分析。例如,我们可以发现帐户/索引是应用程序中最慢的操作。

问题是,如果我们每秒收到1,000个请求,那么每秒拨打1,000个服务电话并不是很聪明;它会损害应用程序性能。

有没有办法进行缓冲服务调用?或者有没有任何图书馆可以做到这一点?或者我们的架构都错了!?

赞赏的想法。

2 个答案:

答案 0 :(得分:3)

我通常不会只是在这里链接问题的答案,但是whiletrue.com的人在这里对MVC进行了很好的分析。他的幻灯片展示了他所做的所有事情。

http://blog.whiletrue.com/2009/04/aspnet-mvc-performance/

答案 1 :(得分:0)

您可以使用可以获取这四个值的操作创建一个控制器,只需点击您自己的站点,然后在该控制器中将信息排队到数据库。然后有一个不同的进程批处理将信息提交给您的Web服务。