asp.net-mvc-3 – 对MVC4 Web API性能问题进行故障诊断
我有一个asp.net mvc4 web api接口,每天可以获得大约54k个请求.
http://myserv.x.com/api/123/getstuff?whatstuff=thisstuff 我在负载均衡器后面有3个Web服务器,用于处理http请求. 平均响应时间约为300毫秒.然而,最近出现了一些错误(或者可能一直存在),因为在10-20秒内会出现零星的响应时间.这将是针对直接命中同一服务器而不是通过负载均衡器的相同请求. GIVEN: - System has been passed down to me so there may be gaps with IIS confiuration,etc,. - Database: SQL Server 2008R2 - Web Servers: Windows Server 2008R2 Enterprise SP1 - IIS 7.5 - Using MemoryCache aggressively with Model and Business Objects with eviction set to 2hrs - Looked at the logs but really don't see anything significantly relevant - One application pool...no other LOB applications running on this server 假设&问: 我有限制跟踪,因为这些是prod系统所以我只能暴露这么多的日志记录细节.任何帮助和信息攻击其他人遇到的这种或类似的行为表示赞赏.谢谢 更新:
解决方法
在评估IIS和配置与内部代码问题4-5天之后,我终于发现了这个问题,对windbg或debugdiag IIS工具几乎没有帮助.这些工具包含很多信息,即使是迷你转储或日志跟踪堆栈,它们也可以是红色鲱鱼.最好的办法是通过设置一个生产系统的“智能复制”实例来重现它,这是我们当时没有的,并且需要一些操作来设置一些东西.
不用说,问题与过度缓存业务对象有关.有一种竞争条件,某个表上的更新正在更新相应业务对象的属性(更新来自多个服务器),这导致OOC堆栈溢出,这几乎导致缓存以递归方式缓存自身死亡,从而导致w3wp .exe进程死亡和伪造回收本身.这是在非生产环境中难以测试和重新编写的边缘情况之一. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET关闭FriendlyURLs mobile.master页面
- asp.net+Ajax 文本文件静态分页实现代码
- asp.net-mvc – 使用ASP.NET MVC的SEO URL
- asp.net-mvc – 为什么.NET在MVC asp.net应用程序中生成两个
- asp.net-mvc-5 – 使用FormsAuthenticationTicket的MVC Ide
- asp.net – Page.Request.UserHostAddress的格式无效
- asp.net – 通过Ajax Post – MVC3更新模型更改视图
- ASP.NET Core 2.0 带初始参数的中间件问题及解决方法
- asp.net-web-api – web api – asp.net身份令牌即使对于后
- asp.net-mvc – 如何在Kendo模板中动态设置列
- ASP.NET应用程序配置IIS后,会出现错误
- asp.net-mvc – 使旧会话Cookie无效 – ASP.Net标
- asp.net-core – HttpResponse不包含Dot Net Cor
- 模拟ASP.NET声明身份到Windows身份
- asp.net-mvc – 用于json嵌套数组的MVC3绑定
- asp.net web api和odata的路由
- asp.net-mvc – ASP.Net MVC Razor Views – 在构
- asp.net三层架构增删改查
- asp.net-mvc – ASP.net MVC – 呈现包含不同类型
- asp.net – 为什么在开启模拟时Thread.CurrentPr