I'm doing performance testing for my MVC internet application using IIS 7.0
我正在使用IIS 7.0对我的MVC互联网应用程序进行性能测试
Sometimes the application pool stops and I get an error saying "service unavailable" in my browser. I then have to restart the pool.
有时应用程序池停止,我在浏览器中收到错误消息“服务不可用”。然后我必须重新启动池。
Why is the pool automatically stopped, and how can I solve this problem?
为什么池会自动停止,我该如何解决这个问题?
update And my log file has : "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll returned an error from registration. The data is the error."
更新我的日志文件有:“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ webengine4.dll从注册返回错误。数据是错误。”
3 个解决方案
#1
13
The application pool stops when it can't recover from an error/crash. Look at the Event Viewer under Windows Logs > Application to see the exception(s) that caused the crash. The Source column will mention something like ASP.NET 4.0.30319.0
应用程序池在无法从错误/崩溃中恢复时停止。查看Windows日志>应用程序下的事件查看器,查看导致崩溃的异常。 Source列将提到类似ASP.NET 4.0.30319.0的内容
#2
9
Well, I encounter also this problem and this is what I do.
好吧,我也遇到了这个问题,这就是我的工作。
1) Open IIS.
1)打开IIS。
2) Right click on your Application-Pool for the web application and select "Advanced Settings".
2)右键单击Web应用程序的Application-Pool,然后选择“Advanced Settings”。
3) Set "Rapid-Fail Protection" -> "Enabled" to False.
3)将“Rapid-Fail Protection” - >“Enabled”设置为False。
If this is true, the Application pool is shut down if there are a specified number of worker process crashes within a specified time period. By default, an application pool is shutdown if there are 5 crashes within a 5 minutes interval.
如果为true,则在指定时间段内存在指定数量的工作进程崩溃时,将关闭应用程序池。默认情况下,如果在5分钟间隔内发生5次崩溃,则应用程序池将关闭。
I read the answer in this link [https://sharepoint.stackexchange.com/questions/22885/application-pool-is-auto-stopped-when-browse-web-application-in-iis7]
我在这个链接中阅读了答案[https://sharepoint.stackexchange.com/questions/22885/application-pool-is-auto-stopped-when-browse-web-application-in-iis7]
hope that this will give help to others.
希望这会给别人带来帮助。
#3
0
Well, i had a similar problem, just with another module.
好吧,我有一个类似的问题,只是与另一个模块。
After looking to the event log, check if the needed module is present in the system32\inetsrv folder. If it is absent then delete/comment the appropriate line in the system32\inetsrv\config\applicationHost.config in the globalModules section. Perhaps you will have to delete some modules (that also won't be found and pointed by event viewer) from your IIS application pool.
查看事件日志后,检查system32 \ inetsrv文件夹中是否存在所需的模块。如果不存在,则删除/注释globalModules部分的system32 \ inetsrv \ config \ applicationHost.config中的相应行。也许您必须从IIS应用程序池中删除一些模块(事件查看器也不会找到它们)。
This helped for me, before that i had tried a lot of things including numerous reinstallations of IIS and .NET Framework.
这对我有帮助,在此之前我尝试过很多东西,包括重新安装IIS和.NET Framework。
#1
13
The application pool stops when it can't recover from an error/crash. Look at the Event Viewer under Windows Logs > Application to see the exception(s) that caused the crash. The Source column will mention something like ASP.NET 4.0.30319.0
应用程序池在无法从错误/崩溃中恢复时停止。查看Windows日志>应用程序下的事件查看器,查看导致崩溃的异常。 Source列将提到类似ASP.NET 4.0.30319.0的内容
#2
9
Well, I encounter also this problem and this is what I do.
好吧,我也遇到了这个问题,这就是我的工作。
1) Open IIS.
1)打开IIS。
2) Right click on your Application-Pool for the web application and select "Advanced Settings".
2)右键单击Web应用程序的Application-Pool,然后选择“Advanced Settings”。
3) Set "Rapid-Fail Protection" -> "Enabled" to False.
3)将“Rapid-Fail Protection” - >“Enabled”设置为False。
If this is true, the Application pool is shut down if there are a specified number of worker process crashes within a specified time period. By default, an application pool is shutdown if there are 5 crashes within a 5 minutes interval.
如果为true,则在指定时间段内存在指定数量的工作进程崩溃时,将关闭应用程序池。默认情况下,如果在5分钟间隔内发生5次崩溃,则应用程序池将关闭。
I read the answer in this link [https://sharepoint.stackexchange.com/questions/22885/application-pool-is-auto-stopped-when-browse-web-application-in-iis7]
我在这个链接中阅读了答案[https://sharepoint.stackexchange.com/questions/22885/application-pool-is-auto-stopped-when-browse-web-application-in-iis7]
hope that this will give help to others.
希望这会给别人带来帮助。
#3
0
Well, i had a similar problem, just with another module.
好吧,我有一个类似的问题,只是与另一个模块。
After looking to the event log, check if the needed module is present in the system32\inetsrv folder. If it is absent then delete/comment the appropriate line in the system32\inetsrv\config\applicationHost.config in the globalModules section. Perhaps you will have to delete some modules (that also won't be found and pointed by event viewer) from your IIS application pool.
查看事件日志后,检查system32 \ inetsrv文件夹中是否存在所需的模块。如果不存在,则删除/注释globalModules部分的system32 \ inetsrv \ config \ applicationHost.config中的相应行。也许您必须从IIS应用程序池中删除一些模块(事件查看器也不会找到它们)。
This helped for me, before that i had tried a lot of things including numerous reinstallations of IIS and .NET Framework.
这对我有帮助,在此之前我尝试过很多东西,包括重新安装IIS和.NET Framework。