2010-09-10 96 views
0

當我們從暫存服務器傳遞到我們的生產服務器時,我們正在努力尋找ASP.NET應用程序性能下降的原因,並且我們希望聽到您的意見,幫助我們找到瓶頸。Asp.net應用程序瓶頸識別:任何建議?

我們的登臺服務器是帶有4GB RAM,Windows Server 2003 R2 SP2 x64 Edition的英特爾酷睿2四核CPU Q8200(2.33 GHz)。數據庫託管在Sql Server 2008 Express Edition上。一切似乎順利進行。頁面更改幾乎是即時的廣告頁面加載時間(例如,在網格中切換頁面)可以。

我們的生產服務器是雙Xeon 3.00 GHz雙核虛擬內存,Windows Server 2008 Web Edition SP2 x86 Edition。數據庫託管在Sql Server 2008網絡版上。

我們的應用程序使用經典的最佳實踐(masterpages,CSS,AJAX,數據分頁,靜態資源客戶端緩存,靜態和動態IIS上的gzip壓縮資源,服務器端緩存不頻繁更改的數據...)。

我真的不明白什麼可能導致應用程序在兩種情況下運行如此不同。那可能是什麼?缺少的RAM?生產服務器上的負載?網絡限制?

我可以做些什麼來縮小瓶頸的研究?

回答

1

您可以簡單地在生產服務器上啓用跟蹤(不要忘記將其關閉)並查看您的頁面加載的哪些階段需要這麼長時間)。

+0

這是一個很好的建議,但是...我怎麼能發現這些長時間的加載是由應用程序引起的不同的東西造成的(例如在服務器上加載?) – Marconline 2010-09-10 08:16:23

+0

@Marconline - 我認爲這可能是一個好地方開始。你可以看到你的代碼是否運行緩慢 - 如果不是,那麼它可能是網絡帶寬。您還可以關注服務器上的進程監視器。 – Paddy 2010-09-10 09:49:30

0

如果您可以輕鬆地將2 GB的內存添加到虛擬服務器,那麼嘗試一下,這很容易,可能很重要。檢查任務管理器中的RAM使用情況,看看您使用的是多少。

這些服務器是否託管在同一地點或可能存在網絡延遲差異?

在服務器上運行perfmon.msc並觀察計數器,最大值是多少?