我有一个web应用程序,有时只是因为负载太重而挂起。为了使它回来,我必须杀死"dllhost.exe“过程。有人知道该怎么做吗?
这是一个经典的ASP (VBScript)应用程序,有很多COM+对象。
服务器具有以下配置:
事件日志中有一些与COM对象相关的错误。但是为什么COM对象中的错误会使整个服务器崩溃呢?
COM对象是作为COM对象部署的PowerBuilder对象。
IIS7.0比IIS6.0更稳定吗?
发布于 2008-08-21 06:08:34
听起来像是引起问题的可疑的COM对象。您是否将它们加载到“应用程序”中,如果您这样做了,它们是否是线程安全;或者它们是否在每个请求中被使用和丢弃?
是的,每隔几个小时进行一次回收会有助于“隐藏”问题,但它们应该被调试并正确地修复.你有没有试过分而治之来发现哪个COM对象是问题所在.我可以想象这在生产环境中是很棘手的,所以您需要设置一些繁重的自动化测试来在本地重现问题,然后您可以对它做些什么。
发布于 2008-08-21 02:46:49
您的内存泄漏:)
此博客条目是IIS故障排除的圣经:
http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx
如果您无法审核代码并找到引用泄漏的位置,另一种方法是通过每24小时重新启动IIS来循环应用程序。您只需将命令行脚本设置为服务器作业即可。
发布于 2008-08-21 02:45:29
在应用程序和系统类别下的事件日志中可能有一些错误。试着找出这些错误的根源,或者在这里发布它们,看看我们能做些什么:)
编辑:@内存泄漏是很可能的。您使用什么COM+对象?在我支持的应用程序中,我对Excel有一些问题。
https://stackoverflow.com/questions/19245
复制相似问题