2013-03-25 73 views
0

我們在IIS 7.5上有一個經典的ASP網站。經典ASP站點偶爾掛起

用戶隨機出現響應緩慢。當發生這種情況時,用戶幾分鐘內無法做任何事情,這是非常令人沮喪的。

例如,我可以打開主頁,然後通過類別點擊幾次,然後網站停止響應。

當網站停止響應時,我沒有注意到任何規則。有時候,它一直工作得很好,有時它會停下來。

當它響應緩慢時,我可以等待幾分鐘,然後進入頁面。我試圖停止頁面加載,並刷新頁面,但這沒有幫助。發生這種情況時,我無法刷新頁面,也無法轉到其他頁面。網站上的每個頁面都沒有響應。

但是,如果我打開其他瀏覽器,比如說我在Chrome並打開IE,新瀏覽器中的站點又快又快。

我唯一的線索是,如果我在客戶端刪除ASP會話cookie,那麼在同一瀏覽器中再次加載頁面會很快。所以,這顯然是與ASP會話cookie有關的東西。由於某種原因,IIS或ASP引擎能夠以某種方式阻止ASP會話?

我注意到,如果我通過網站快速點擊,我會發現響應緩慢的機會更多。它看起來像幾個快速點擊服務器可能會因爲某種原因拒絕該會話?

此外,不知道它是否有幫助和有關的問題,我經常看到許多不同的ASP會話cookie。我想它應該只有一個會話cookie在瀏覽器中的每個用戶,但我看到幾個不同的會話cookie不同的值。

有人見過類似的東西嗎?任何想法如何解決這些偶爾的緩慢反應?

謝謝!

編輯: 我發現,當反應慢發生,我無法加載甚至是空的ASP頁面(我創建頁面,一行代碼,只需用的Response.Write「工作」)。 當然,如果我在另一個瀏覽器中打開該頁面,它很快就能正常工作。當問題發生時,網站只會停留在那個會話中。如果我在其他瀏覽器中嘗試相同的頁面或在同一瀏覽器中清除會話cookie,頁面加載速度很快。

+0

通常的原因是失控的數據庫查詢。不知道你的應用程序如何工作,這個問題是不是很負責任。 – 2013-03-25 21:20:18

+0

我懷疑這是數據庫,因爲每個頁面都可能發生緩慢的響應。沒有規則。發生問題時,網站上的任何頁面都無法訪問。但是,如果我手動清除ASP會話cookie,那麼網站又快了。另外,如果我打開另一個瀏覽器,並且網站也會很快。 – BorisP 2013-03-25 21:29:31

+0

這是一個艱難的。您可能想要在serverfault.com上發帖。我認爲你不會在這裏找到答案。 – 2013-03-25 21:42:04

回答

0

拍攝時間,我想我找到了答案。 ASP網站使用幾個自定義COM組件。

其中一些組件正在將日誌文件寫入光盤。這些日誌是.txt文件。

日誌文件隨着時間的推移而增長,其中一個超過4GB。不知何故,寫入大文件導致服務器在加載多頁後緩慢響應。有趣的是,新的瀏覽器窗口掛在其他瀏覽器時可以快速打開頁面。

因此,我刪除了從ASP代碼寫入日誌文件的部分,並且網站現在可以不掛起來工作。

謝謝大家!

0

對於這樣的問題,我只是寫了一個粗糙的函數(我在include中)並放入問題頁面。該函數寫出時間戳,計時器(捕獲毫秒範圍內的時間)和其他任何我想要的文本文件的變量。

然後我只是在每個可疑的代碼段之前和之後調用函數,並在幾天後檢查後發現它的結果。

記住用戶計時器()作爲其中的一部分作爲正常時間戳usless在毫秒級

+0

哇,這是個好主意。頁面懸掛,但我不確定在哪裏。由於它在隨機頁面上,我想它是一些包含文件。 – BorisP 2013-04-24 19:58:45

+0

嗯,我試過了,但看起來它與任何頁面都沒有關係。然後,我點擊網站上的鏈接,並在一段時間後掛起。當發生這種情況時,我甚至無法加載空白的ASP頁面(我創建了一個空白頁面,以查看在沒有代碼的情況下頁面是否在網站掛起時工作)。 – BorisP 2013-05-08 13:20:57

0

我也有這個問題。我沒有任何數據庫或任何定製的activex對象,我在每次操作後立即清理每個對象(如scripting.filesystemobject),但我確實在應用程序中啓用了會話,以便可以設置會話代碼頁等等。我注意到服務器生成了大量的aspsessionid餅乾;也就是說,當頁面掛起時,可能會有50個aspsessionid cookie。如果會話已啓用,則IIS會生成這些會話,但我無能爲力。每20-30分鐘,頁面就會突然掛在我的會話中。引入另一個瀏覽器實例(例如另一臺機器或隱私瀏覽模式)將會再次正確響應。離開瀏覽器5分鐘也會導致它正常啓動響應。我知道與循環我可以檢查response.isclientconnected並做一個response.end如果他們連接是死的終止服務器進程,但我的客戶端IS連接仍然,這並沒有幫助。