.NET MVC应用程序的高CPU和内存使用率

Jas*_*son 5 .net c# memory cpu-usage asp.net-mvc-3

我们看到一个.NET MVC应用程序的CPU和内存使用量非常高,似乎无法追踪它的原因.我们的组无法访问Web服务器本身,而是在遇到某些限制时(90%或CPU或内存)自动得到通知.在本地运行我们似乎无法找到问题.我们认为有些项目可能是罪魁祸首

  • 当用户采取某些操作时,该应用程序在后台运行许多线程
  • 我们正在使用memcached(在与Web服务器不同的机器上)
  • 我们正在使用网络套接字

除此之外,就Web应用程序而言,该应用程序非常标准.这里有几个表单,登录/注销,一些管理用户和数据的管理功能; 没什么特别的.

我正在寻找两种不同的解决方案,并想知道什么是最好的.

  1. 在应用程序内部创建一个页面(仅适用于应用程序管理员),该页面显示有关正在使用的内存和CPU的信息.有这样的例子还是可能的?
  2. 使用安装在Web服务器上的某种类型的第三方概要分析服务或应用程序,并允许我们下载以查找导致应用程序中CPU和内存使用率过高的原因.

Mas*_*low 1

您可以将 Preemptive 的运行时智能连接到它。- http://www.preemptive.com/

否则,分析器或负载测试可以帮助发现问题。你们有什么东西可以监控实际机器的健康状况吗?(处理器使用情况、内存使用情况、磁盘队列长度等)。

http://blogs.msdn.com/b/visualstudioalm/archive/2012/06/04/getting-started-with-load-testing-in-visual-studio-2012.aspx

Visual Studio 有一个内置的分析器(取决于版本和版本)。您可以通过WMI 查询存在问题的 Web 服务器,或者编写/提供诊断记录/监控工具,将其移交给有权访问的人员。

你有输出缓存吗?IIS 是什么版本?您收到的 90% 处理器使用率警报是否表明您的 Web 进程实际上是在执行此操作?(如果警报配置不正确,可能不是您的应用程序)