2009-02-17 59 views
1

我在託管平臺上有一個大的ASP.NET網站。它與許多其他應用程序共享機器。我們無法訪問機器本身(僅限FTP帳戶)。託管平臺上的ASP.NET性能測量

我們的客戶抱怨說它開始表現不佳,特別是在高峯時段。我已經運行了一些遠程測量(使用類似JMeter的工具),它告訴我,在高峯時段確實表現得相當糟糕。但它並沒有告訴我爲什麼。客戶拒絕轉移到專用服務器而沒有一些事實。

正如我所看到的,我需要的是關於機器本身的硬數據。設置本地性能測試環境將非常耗時,並且我無法估計服務器性能。

我的問題:有沒有一種很好的方式來收集(很多)性能測量,當我有限的機器訪問,並且當然不能訪問性能監視器?任何代碼都必須在asp.net應用程序本身中運行,而不會讓它太多。

回答

1

我們在共享服務器上託管的我們的asp.net應用程序也出現了類似的問題,該服務器在高峯時間也開始表現不佳。

雖然我不知道一個優雅的解決你的問題,這就是我們所做的:

  1. 談談您的主機提供商,看看有什麼額外的信息,他們可以給你 - 這是他們的最佳保持客戶滿意的興趣。我們的主機提供商能夠給我們一些時間,他們的網絡工程師爲我們提供了一些體面的CPU和內存使用率統計信息。

  2. 採取由要麼日誌文件(使用log4net)和/或數據庫的轉儲信息,您自己的性能測試 - 例如,用戶會話,搜索時間,網頁點擊次數,定時左右鍵功能測量。根據這些信息,我們能夠確定我們的系統正常行爲是否適用於一定數量的自動化測試。

  3. 在您的應用程序加載並設置完整的負載/性能/容量測試(我們使用Red Gate的ANTS Profiler)後,設置本地服務器(不一定與託管/生產服務器的統計數據相同)。您從中收集的統計數據將爲您和您的客戶提供一個良好的指示,說明系統在某些已知環境下的負載情況下的行爲。是的,這可能很耗時,但它會爲您提供一個出色的性能測量工具,以便您可以在本地而不是生產環節捕捉/修復瓶頸。

祝你好運。