2017-09-05 63 views
2

我正在使用64位Access(2013)數據庫連接在不同域下的一組經典ASP(VBScript)網站上工作。服務器是一個共享的Windows服務器  2012與IIS   8.5。這些網站不是由我編碼的。經典ASP響應時間極不相同

一切似乎一時間正常工作,但經過幾次頁面調用(有時也是在第一個或唯一打電話到網站)服務器不超過20到30秒響應。這意味着:我無法呼叫此服務器上託管的任何頁面,甚至不同網域下的所有其他網站都停止工作。

我不知道,如果普通的HTML頁面會作出迴應,但似乎沒有。在這樣的問題之後,所有事情在各個時期(最多1或2分鐘)內都能正常運行,頁面顯示正常的響應時間,然後這個系統重複運行。等...…

發現問題是非常困難的,因爲所有在這個網站共享託管服務器可能可能導致此行爲,它不一定似乎被我的特定頁面調用或後續調用被觸發,雖然它可能是。

我不確定,哪裏可以找到問題。我搜索了這個論壇,發現了一些有趣的答案,但不完全是我們的問題。我在虛擬服務器上嘗試了Sysinternal的進程監視器,其中只有一個特定的站點存在,並且存在相同的問題,但無法解釋大部分消息。我查看了此計算機上的事件查看器日誌,發現有條目說:

外部對象中發生了可捕獲錯誤(C0000005)。該腳本無法繼續運行。

但即使這聽起來是一個可能的原因,我不知道在哪裏看腳本或日誌文件,我可以找到所有的觸發器。而在共享主機上,我甚至沒有可能做到這一點。在Windows   10的本地「內部網絡服務器」上,我可以在其中駐留所有網站的本地副本。但我不確定,從哪裏開始我的搜索。

任何幫助,將不勝感激(請不要與切換到ASP.net或SQL提案針我 - 這是不可能的時刻)。

+0

你使用任何文件上傳組件?也許可以嘗試使用這個工具獲取更多信息:https://forums.iis.net/t/1153645.aspx –

+0

謝謝喬希的投入。是的,Persits ASP-Upload是在這個網站上實現的,但是:它只應該被集成到代碼中(如果需要的話)(例如帶有表單的網頁),只有極少數的網站真的在前端使用它甚至更少的網站訪問者使用它。 – Schnuffi

+0

Thanx也用於鏈接,我不確定,如果我們能夠在我們的提供者服務器(可能在虛擬服務器上,但不在共享主機上)安裝它,並且因此瞭解如何使用它: - ( 什麼會真正幫助我們,我們應該在哪裏尋找一個錯誤信息 - 事件查看器日誌,服務器日誌...我希望,它必須是可見的地方,當服務器完全停止了半個服務.asp頁?分鐘(正如我前面提到的,看起來,純html頁面仍然有效,所以只有asp引擎似乎被破壞),什麼觸發了ist。但是在哪裏搜索該符號? – Schnuffi

回答

-1

我有巨大的傳統的ASP應用程序中工作這個錯誤通常發生在一電一的Server.CreateObject(「富」)。當有人試圖上傳一個非常大的.xls文件時,我們在這裏通常會出現這種錯誤。我會開始映射所有的Server.CreateObject。

+0

thanx您的偉大建議!我們討論的是類似的東西,例如打開,但沒有關閉objetcs。 「映射所有Server.CreatObject」是什麼意思? – Schnuffi

+0

我想說,你可以使用像崇高的文本和搜索Server.CreateObject的東西,我知道這是很多工作要做。我在想,也許快速的方法是激活詳細的錯誤,當用戶發生錯誤時激活這個錯誤,它將以文件名和問題發生的行出現。如果你在windows server 2012上,這個選項可以在asp選項的iis面板上找到。 –

+0

Thanx爲您的實物投入!我們已經激活了詳細的錯誤,但是由於這發生在共享服務器上,我們所有的網站都可能導致錯誤,所以通常情況下不會發生這種情況,我們會在網站上看到觸發該錯誤的實際錯誤,但只會產生後果(延遲30秒)。檢查所有的Server.CreateObjects將是最有前途的,但可怕的策略,因爲它是一個背景中的一個CMS的大集網站,其中所有的功能和腳本分佈acrros無數的文件...我們將嘗試崇高的編輯器。 – Schnuffi