首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定对IIS施加压力的因素

确定对IIS施加压力的因素
EN

Stack Overflow用户
提问于 2012-06-24 20:20:32
回答 4查看 1.1K关注 0票数 6

我有一台运行IIS 7.5和SQL server 2010的专用服务器。服务器CPU负载通常接近100%。SQL server不会占用太多资源,但w3wp进程会占用大量的CPU (通常是70+%)。

我想找出造成这种压力的原因:*太多静态文件请求(可以添加CDN )*太多ajax请求(我正在考虑comet/web套接字)*单个asp.net页面消耗太多处理能力(应该很容易优化)

你会从哪里开始寻找从哪里开始优化呢?

EN

回答 4

Stack Overflow用户

发布于 2012-06-24 20:40:11

最简单的方法是在生产环境中分析应用程序。我不确定这在你的情况下是否可行。一些选项:

  • 查看日志并查看请求的持续时间。长请求可能会将负载放在system
  • Remote debug w3wp with Visual Studio上,并暂停调试器10次,以查看它停止的最多的地方。这就是
  • 使用XPerf或PerfView捕获(托管)堆栈的热点。这对

的生产性能几乎没有影响

票数 1
EN

Stack Overflow用户

发布于 2012-06-24 20:53:13

解决这个问题最简单的方法可能是在服务器上安装New Relic。试用期为30天,我认为这应该会给你足够的时间来弄清楚这件事。它将向您展示长时间运行的SQL查询、.NET方法,以及您能想到的几乎所有其他内容。它使得识别瓶颈变得非常容易。

顺便说一下,我建议使用New Relic,因为听起来您的问题在生产环境中。New Relic不是一个非常详细的分析器。它收集了足够的信息来提供帮助,但又不至于减慢服务器的速度。这使得它非常适合于这个目的。

但是,如果您可以在开发环境中重现该问题,则可以尝试使用免费的Eqatec profiler

票数 0
EN

Stack Overflow用户

发布于 2012-06-26 01:15:03

一个很好的起点是启动开发工具( IE /Chrome中的F12)并查看网络选项卡下的计时。这将向你展示一个瀑布式的图表,告诉你页面是如何加载的,并应该帮助你识别任何加载速度特别慢的静态文件,这些文件可能会被明智地移到cdn中,任何不必要的请求正在进行,获取实际页面本身花费了多少时间,等等。

之后,使用性能分析器分析应用程序。像ANTS Performance Profiler这样优秀的分析器将允许您查看不同方法的执行时间/命中计数,以及正在运行的数据库查询和它们花费的时间。ANTS的一个新版本(目前在EAP中)也会根据http请求对活动进行分组,这样你就可以看到特定的页面是否需要优化,或者是否被点击了太多次。

您还应该检查缓存是否按照您的预期工作,这样用户就不会不必要地重新请求页面。

你可能想在http://aspalliance.com/1533_ASPNET_Performance_Tips.7上读到一篇关于ASP.NET性能的好文章。

免责声明:我为红门公司工作,该公司制造蚂蚁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11177386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档