ASP.NET MVC在寻找botleneck时迷失了方向

时间:2012-10-15 14:04:08

标签: asp.net-mvc-3 performance debugging profiling

我有ASP.NET MVC个应用程序接受文件上传,并使用SignalR进行结果池化。该应用程序托管在Prod服务器上,带有IIS7,4 Gb Ram和两个核心CPU。

Dev服务器上的应用程序运行正常,但当我在Prod服务器上托管大约50 000 users per day时,应用程序在运行五分钟后变得不负责任。网页请求时间显着增加,加载一页大约需要30秒。我尝试在MvcApplication.Application_BeginRequest中记录所有9000个事件调用并获得5 minutes次点击。对于像这样的应用程序,不确定这是否是可接受的点击次数。

我使用过ANTS Performance Profiler(在Prod应用程序分析中没用,速度慢,占用所有内存)来分析代码,但是分析器在我的代码/ MSSQL查询中没有显示任何时间延迟问题。

此外,我曾尝试监控CPU和RAM峰值问题,但我没有发现任何问题。 CPU百分比有时会达到15%,但从不上升,内存使用率正常。

我怀疑ASP.NET / IIS7中的请求或线程限制有问题,但不知道如何对其进行分析。

有人会建议任何可以帮助解决这种情况的分析解决方案吗?试图在没有任何结果的情况下将问题追捕两周:(

1 个答案:

答案 0 :(得分:2)

您可以尝试使用MiniProfiler,更具体地说是使用专门为ASP.NET MVC应用程序创建的MiniProfiler.MVC3 NuGet包。它将向您显示所有有用的信息,例如执行请求时不同方法的时间花费。