Asp.net mvc 3 w3wp.exe是否有内存限制?

Asp.net mvc 3 w3wp.exe是否有内存限制?,asp.net-mvc-3,iis-7,asp.net-mvc-4,asp.net-web-api,memorycache,Asp.net Mvc 3,Iis 7,Asp.net Mvc 4,Asp.net Web Api,Memorycache,w3wp.exe是否有最大内存大小?我的手机达到2.5-3G左右,然后似乎崩溃/复位 根据下面给定的维度,我设置了一些计数器,并注意到w3wp.exe将为http请求提供服务,然后随着w3wp.exe进程崩溃更改PID而重置为0。因此,排队的请求和活动的请求增长很大,导致处理延迟,直到w3wp.exe能够重新启动。每3-4分钟进行一次,这很可能是因为高峰负荷期间系统容量过大。但不确定这是否是内存问题 我在Web服务器IIS日志中看到大量警告: 为应用程序池“MyApplication”提供服务的

w3wp.exe是否有最大内存大小?我的手机达到2.5-3G左右,然后似乎崩溃/复位

根据下面给定的维度,我设置了一些计数器,并注意到w3wp.exe将为http请求提供服务,然后随着w3wp.exe进程崩溃更改PID而重置为0。因此,排队的请求和活动的请求增长很大,导致处理延迟,直到w3wp.exe能够重新启动。每3-4分钟进行一次,这很可能是因为高峰负荷期间系统容量过大。但不确定这是否是内存问题

我在Web服务器IIS日志中看到大量警告:

为应用程序池“MyApplication”提供服务的进程遇到致命错误 与Windows进程激活服务的通信错误。这个 进程id为“1732”。数据字段包含错误号

结果:客户报告http请求的零星响应时间

我是否可以增加此内存限制或重新配置IIS以处理增加的负载

鉴于:

系统已传递给我,因此可能与IIS配置等存在差距。 数据库:SQL Server 2008R2 Web服务器:Windows Server 2008R2 Enterprise SP1 64位、64G RAM IIS 7.5 将MVC4 Web API与MemoryCache配合使用,并将逐出设置为2小时 查看了日志,但没有发现任何明显相关的内容 一个应用程序池…此服务器上没有运行其他LOB应用程序
应用程序池是否设置为以32位模式运行?即使内存充足,也可能导致内存问题。在64位系统上,32位进程的内存限制为4 GB

应用程序池是否设置为以32位模式运行?即使内存充足,也可能导致内存问题。在64位系统上,32位进程的内存限制为4 GB

实际上,在解决了过度使用内存缓存导致w3wpe.exe进程崩溃的RC问题之后,我可以有把握地说mvc4 web api服务可以增长到20G。。。从3G 64位机器和应用程序池的基线开始。至少这是我在驱逐政策开始清理之前看到的最后一个层次。可能占用空间有点过大,但应用程序非常快地返回机器学习目标内容小于100ms。

事实上,在解决了过度使用内存缓存导致w3wpe.exe进程崩溃的问题后,我可以放心地说mvc4 web api服务可以增长到20G。。。从3G 64位机器和应用程序池的基线开始。至少这是我在驱逐政策开始清理之前看到的最后一个层次。可能占用空间有点过大,但应用程序返回机器学习目标内容的速度非常快,低于100ms。

您好,谢谢您的回复。不,设置为64位。我已经附加了diag debug,并且有一个堆栈跟踪用于…system.objectdisposedexception。接收包含缓存和并发问题的请求的线程模型很可能存在问题。现在正试图找出如何根据要在windbg中加载的调试诊断加载堆栈跟踪转储,但不确定如何使用windbg..wip。如果它不是内存,那么研究线程和并发性就有意义了。除了来自客户端机器的请求之外,您是否也在进行Web服务调用?这可能会占用额外的线程。看见如果您的服务器有多个处理器/核心,您可以将流量分散到多个进程中,这绝对不是内存限制问题。很可能发生非线程安全内存缓存或争用/死锁。但坠机事件中没有任何东西表明什么。是的,对另一个LOB REST API进行web服务调用。顺序是..接收到请求->Task.Factory.StartNewmake对另一个LOB服务的rest api调用->[应用设置是否或现在等待该请求]->点击我们的数据库->返回响应,包括我们发出的api请求中的数据+数据库查询。因此,这些线程可能正在阻塞并且没有返回到线程池,因为它们已经同步了。这可能是因为对于可用的线程数量来说,您的流量太大了吗?您可以使用最大线程数和最大请求数的设置。嗨,谢谢你的回复。不,设置为64位。我已经附加了diag debug,并且有一个堆栈跟踪用于…system.objectdisposedexception。接收包含缓存和并发问题的请求的线程模型很可能存在问题。现在正试图找出如何根据要在windbg中加载的调试诊断加载堆栈跟踪转储,但不确定如何使用windbg..wip。如果它不是内存,那么研究线程和并发性就有意义了。除了来自客户端机器的请求之外,您是否也在进行Web服务调用?这可能会占用额外的线程。看见如果您的服务器有多个处理器/核心,您可以将流量分散到多个pro中
访问一个网页,这绝对不是内存限制问题。很可能发生非线程安全内存缓存或争用/死锁。但坠机事件中没有任何东西表明什么。是的,对另一个LOB REST API进行web服务调用。顺序是..接收到请求->Task.Factory.StartNewmake对另一个LOB服务的rest api调用->[应用设置是否或现在等待该请求]->点击我们的数据库->返回响应,包括我们发出的api请求中的数据+数据库查询。因此,这些线程可能正在阻塞并且没有返回到线程池,因为它们已经同步了。这可能是因为对于可用的线程数量来说,您的流量太大了吗?您可以使用最大线程数和最大请求数的设置。