2011-04-19 90 views
3

我有一个经典的ASP应用程序已稳定多年,现在我们遇到了各种各样的问题。在机器之间移动应用程序并擦拭原始文件后,我们可以重新安装一些窗口,我们已经看到了以下“症状”。应用程序池似乎不允许多个同时发生的请求。以下是我们所看到的:IIS 6应用程序池没有响应多个请求/没有运行多线程

  • 的应用程序正常运行,对大多数人来说,但是当应用程序池的一个内有人访问一个长期运行的脚本(通常是一个有很多的数据库访问)中的所有其他用户的在池中必须等待该脚本完成。一旦脚本完成,其他人的请求就会运行。这最初使我们怀疑数据库连接字符串或什么。

  • UNTIL ...我们注意到,大文件上传到我们的系统导致应用程序池停止响应。有趣的是,我们使用SAFileup COM +对象来执行我们的上传,在弹出窗口中显示进度显示。当你去上传文件时,进度显示会出现,但不会刷新显示上传进度。但是,如果您等待它,文件将最终上载,其他挂起的请求将按正常方式处理。

  • 我们的应用程序池处于默认配置,使用IWAM帐户启动。我检查确保IWAM帐户具有所有适当的权限。它的确如此。

  • 我们尝试了各种数据库连接字符串,没有解决问题(尽管我认为它不是数据库连接字符串)。以防万一有人认为它,这里是我们的连接字符串:“Provider = SQLNCLI; Trusted_Connection = yes; Server =(local); Database = demo;”。这不可能更简单。这个字符串以前不是问题。

  • 我在网络花园的事情中发生了变化,它确实使系统响应多个请求,但花园中的每个工作线程都有自己的会话状态,这会导致我们的用户在请求获取时被启动分配给一个新的工作线程。无论如何,只有在花园里有一个单一的工人流程才是问题。

  • 我已经使用SQL事件探查器和sp_who2来查看在长时间运行的脚本中是否存在SQL Server上的任何死锁或块。没有。

  • 这些问题最初是在我们从Microsoft安装了一些修补程序之后开始的。我们擦拭了一台机器,并安装了Win2k3服务器,然后安装了SP2,然后再没有修补。问题依然存在,所以它似乎不是一个补丁。

我现在非常茫然......有没有人有过类似问题的经验?如果是这样,他们是如何修复的?

+0

1.仅当有人上传文件时,应用程序是否阻塞? 2.你可以禁用文件上传功能并查看应用程序是否正常运行? 3。该应用程序最初是否在Windows 2000上运行? 4.它与Windows 2000上的SAFile UP版本相同吗? 5.您是否在IIS5兼容模式下运行IIS6? – Kev 2011-04-19 21:46:59

回答

2

检查您是否在服务器上启用了ASP调试。这将强制ASP脚本引擎在单个线程上运行。

+0

,解决了3天的头痛...谢谢! – AndreaCi 2013-12-10 17:12:47