首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET应用程序与CPU使用

ASP.NET应用程序与CPU使用
EN

Stack Overflow用户
提问于 2011-11-04 13:53:48
回答 1查看 1.8K关注 0票数 4

我们有一个普通的ASP.NET应用程序(ASP.NET web窗体、实体框架、Server 2005),没有从代码中显式多线程。它已经部署在滞胀环境( 2008 R2 64位,CPU - Intel Xeon E5507 @ 2.27 GHz 2.34 GHz,RAM-7.5GB)上。这个环境由一个web、一个数据库和一个报告服务器组成,每个服务器都是云中的一个单独的实例(Amazon )。在测试并发性时,观察如下:

1用户- CPU使用率~25%,响应时间2-4秒2用户- CPU使用率40-50%,响应时间3-6秒4用户- CPU使用率60-80%,响应时间4-8秒8用户- CPU使用率80-100%,响应时间4-10秒。

我的问题是:

  1. 是相对于no的CPU使用量。并发用户?并且响应时间可以在很大程度上变化,如在上面的观察中所看到的?

从上面的观察来看,当并发用户计数为10时,CPU就会被耗尽。CPU不应该在不大幅增加响应时间的情况下无缝地处理更多并发用户吗?在理想的情况下,如果是一个基本的ASP.NET应用程序,一个CPU可以处理多少并发用户?

如果在上面的问题中是

  1. ,那么高CPU/长响应时间会有什么问题呢?我们应该如何进行有效的调试以找出代码/IIS设置中的瓶颈?

PS: IIS设置(即在machine.config中),这些设置已经更改:

代码语言:javascript
复制
    maxWorkerThreads = 100
    MinWorkerThreads = 50
    maxIOThreads = 100
    minIOThreads = 50   
    minFreeThreads = 176        
    maxConnections = 100
EN

回答 1

Stack Overflow用户

发布于 2011-11-04 16:17:23

高CPU使用率可能是由多种原因造成的。要了解发生了什么,最简单的方法是使用分析工具:

蚂蚁记忆分析器:

http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/

蚂蚁性能分析器:

http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

他们是非常负担得起,但你应该能够工作不受限制的试用版本。这些工具在识别瓶颈和内存泄漏方面做得非常出色。

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

https://stackoverflow.com/questions/8010224

复制
相关文章

相似问题

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