2012-08-03 69 views
2

我有一個asp.net網絡應用與實體框架在生產服務器運行速度相當慢。生產ASP.net應用程序比開發慢

我在本地SQLServer數據庫的本地主機上進行測試,在生產服務器中,應用程序也使用本地數據庫。

所以我期待着時間是相似的,如果不是更快的生產。

服務器是一臺新機器,它擁有比我的機器更多的RAM和更快的處理器。

我發現改進代碼對我非常有幫助(像stringBuilder替換大量連接的東西),但我不明白的是時代的不同!

I始終在發佈模式下比較時間。使用簡單的Visual Studio發佈。

我應該從哪裏開始?

IIS在生產? SQL Server? 它可以是連接字符串嗎? 繼續調查代碼?

由於提前,

迪奧戈

+0

你如何準確地比較時間?我們需要更多信息。 – 2012-08-03 16:23:07

+0

使用log4net寫入文件(使用StopWatch節省時間)。 訪問數據庫的方法比較慢,但只是簡單處理而沒有數據庫訪問的方法也比較慢 – Diogo 2012-08-03 16:32:10

+0

是啊什麼效果。我可以在Visual Studio localhost中快速運行,然後在IIS中,它是一個緩慢的數據庫連接,它在大視圖模型上窒息並且無法使用。 – FlavorScape 2013-02-11 06:24:33

回答

3

我會打破這個問題開始。例如sql服務器時間和iis時間。您可以分隔代碼的不同部分並測量執行時間等。

SQL Server Profiler是開始使用ASP.NET和ASP.NET的好工具您可以從簡單的tracepage tracing開始。

一些更多的信息有關testingperformance

你應該在生產和開發機相同的數據的期望相同的結果。另外生產服務器可能忙於開發機器上可能沒有的其他功能。