我有一個經典的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,然後再沒有修補。問題依然存在,所以它似乎不是一個補丁。
我現在非常茫然......有沒有人有過類似問題的經驗?如果是這樣,他們是如何修復的?
1.僅當有人上傳文件時,應用程序是否阻塞? 2.你可以禁用文件上傳功能並查看應用程序是否正常運行? 3。該應用程序最初是否在Windows 2000上運行? 4.它與Windows 2000上的SAFile UP版本相同嗎? 5.您是否在IIS5兼容模式下運行IIS6? – Kev 2011-04-19 21:46:59