asp.net – 使用jetBrains dotTrace检测W3WP CPU问题
发布时间:2020-12-16 03:47:08 所属栏目:asp.Net 来源:网络整理
导读:我们在生产服务器上的W3WP流程一直很高.它不会达到最大值100%,但会很快上升到90%s.为了帮助调查这一点,我使用JetBrains dotTrace描述了实时应用程序. 结果如预期.所有慢速方法都是查询数据库的NHibernate函数.我的问题是,这些慢速方法是否会对我们的Web服
我们在生产服务器上的W3WP流程一直很高.它不会达到最大值100%,但会很快上升到90%s.为了帮助调查这一点,我使用JetBrains dotTrace描述了实时应用程序.
结果如预期.所有慢速方法都是查询数据库的NHibernate函数.我的问题是,这些慢速方法是否会对我们的Web服务器上的CPU产生影响,因为我们的数据库服务器位于单独的计算机上.当然,如果数据库服务器正在做一些工作,那么Web服务器jsut等待响应,CPU不应该上升? 如果是这种情况,我如何使用dotTrace(或其他工具,如果需要)来计算CPU的使用位置,而不是等待来自其他地方的响应的服务器? dotTrace热点截图 您可以从屏幕截图中看到,大部分时间都花在等待外部HTTP请求完成上.但是,这些不应该影响我想到的Web服务器上的CPU使用率 解决方法
很可能是NHibernate本身正在对您的Web服务器进行艰苦的工作,而且数据库实际上做的相对较少.
我建议运行一个SQL分析器来查看数据库是否真的需要在单个调用上花费很长时间(来自NHibernate). 我的猜测是你会看到NHibernate对数据库进行了大量的调用,然后处理它们(在你的erb服务器服务器上),并且这是负责高CPU的. 如果对连接有很多延迟提取,那么最终可能会出现这样的情况,即NHibernate会对数据库进行多次调用,从而获取一个请求的数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – asp图表错误
- asp.net-mvc – 如何在ApiController构造之后但在执行动作之
- asp.net – 从服务器获取数据而不延长会话超时
- asp.net-mvc – 为什么Visual Studio 2010混合了System.Web
- asp.net-mvc-4 – 使用@ Url.Content(“?”)有什么好处
- asp.net – 什么时候应该使用Page.DataBind()和Control.Dat
- 如何用C#和ADO.NET建立一个数据绑定网格(转载)
- asp.net-mvc-4 – ASP.NET MVC 4网站速度问题
- asp.net-mvc – 为什么HttpContext.Current在asp.net mvc中
- ASP页面的ASP.NET cookie
推荐文章
站长推荐
- asp.net-mvc – MVC,FluentValidation和Ninject的
- rest – 在ASP.NET Core中实现“JSON Merge Patc
- asp.net-mvc – Visual Studio 2013持有的App_gl
- asp.net-mvc – 使用razor引擎在mvc4中重写url
- asp.net – 错误:类型存在于两个目录中
- forms-authentication – ASP.NET MVC5应用程序在
- asp.net-mvc – 如何使用Razor ASp.NET MVC连接H
- asp.net mvc强类型视图模型与multiselect
- asp.net – Ajax Control Toolkit ModalPopupExt
- asp.net – 将图像转换为字节以存储在数据库中
热点阅读