gpt4 book ai didi

ASP.NET 应用程序和 CPU 使用率

转载 作者:行者123 更新时间:2023-12-04 01:05:50 27 4
gpt4 key购买 nike

我们有一个普通的 ASP.NET 应用程序(ASP.NET Web 表单、 Entity Framework 、SQL Server 2005),没有任何来自代码的显式多线程。它已部署在暂存环境中(操作系统 - Windows Server 2008 R2 64 位,CPU - Intel Xeon E5507 @ 2.27 GHz 2.34 GHz,RAM - 7.5 GB)。此环境由 Web、数据库和报告服务器组成,每个服务器都是云中的单独实例 (Amazon EC2)。在测试并发时,观察结果如下:

1 user - CPU usage ~25%, Response time 2-4 seconds


2 users - CPU usage 40-50%, Response time 3-6 seconds


4 users - CPU usage 60-80%, Response time 4-8 seconds


8 users - CPU usage 80-100%, Response time 4-10 seconds


我的问题是:
  • CPU 使用率是相对于否的。并发用户数?从上面的观察中可以看出,响应时间可能会有很大的不同?
  • 根据上述观察,当并发用户数约为 10 时,CPU 将被最大化。 CPU 难道不应该在不大幅增加响应时间的情况下无缝处理更多并发用户吗?在理想情况下,对于基本的 ASP.NET 应用程序,CPU 可以处理多少并发用户?
  • 如果在上述问题中是,那么高 CPU/长响应时间可能是什么问题?我们应该采取哪些方式进行有效的调试以找出代码/IIS 设置中的瓶颈?

  • PS:已更改的 IIS 设置(即在 machine.config 中):
        maxWorkerThreads = 100
    MinWorkerThreads = 50
    maxIOThreads = 100
    minIOThreads = 50
    minFreeThreads = 176
    maxConnections = 100

    最佳答案

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

    ANTS 内存分析器:
    http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/

    ANTS 性能分析器:
    http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

    它们非常实惠,但您应该能够不受限制地使用试用版。这些工具在识别瓶颈和内存泄漏方面做得非常出色。

    关于ASP.NET 应用程序和 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8010224/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com