我有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中的请求或线程限制有问题,但不知道如何对其进行分析。
有人会建议任何可以帮助解决这种情况的分析解决方案吗?试图在没有任何结果的情况下将问题追捕两周:(
答案 0 :(得分:2)
您可以尝试使用MiniProfiler,更具体地说是使用专门为ASP.NET MVC应用程序创建的MiniProfiler.MVC3
NuGet包。它将向您显示所有有用的信息,例如执行请求时不同方法的时间花费。