2011-10-05 115 views
1

在工作中,我有一個問題,我一直在努力的網站,這讓我有點難倒。它是在Windows Server 2003上的IIS6上運行的Microsoft MVC 2網站,它針對位於不同服務器上的SQL Server數據庫。針指向網站緩慢

這個問題在嘗試登錄時表現爲極端緩慢,我寫了一個快速腳本來調用第100頁的日誌,時間在3秒到14秒之間變化,但是它很不穩定。

我在執行登錄時運行了SQL事件探查器,並且行爲是您將提交,第二次或者將會傳遞,您將看到sql事件探查器記錄連接,然後以毫秒爲單位執行sql,然後執行在重定向之前經過幾秒鐘。

當我們部署到另一臺服務器上,我們有太多的訪問和網站快速執行雲託管服務的完整性檢查,同樣的登錄腳本X100完整的請求始終需要1-2秒。

所以剛纔通過的一切來看,我們已經排除了:

這不是服務器硬件處理器和內存的使用幾乎沒有什麼。 這不是帶寬,因爲一旦連接到Sql Server,順序執行的腳本速度非常快。 這不是Sql被執行或任何索引問題,sql執行得非常快。

在這個階段,感覺就像與應用程序是如何進行打開和關閉到SQL服務器的初始連接有問題。就像服務器之間的握手一直佔用一樣,因爲一旦連接與數據庫的交互非常快。

我只是無法弄清楚這是什麼服務器,並在那裏運行良好將是雲服務器之間的差異。

任何有關我可以執行的工具或測試的建議都將非常感激。

謝謝。

+0

您是否在您的web.config中爲您的連接字符串使用服務器名稱或IP地址。如果使用服務器名稱,是否可能是第一次連接的DNS查詢緩慢? – Tommy

+0

爲什麼不F5通過它,看看它停在哪裏? – bzlm

回答

1

嘗試使用類似Red Gate Ants Profiler之類的東西 - 它會顯示所有託管代碼的時間安排(即使您沒有源代碼的框架內容 - 只需確保選擇過濾器以顯示它)。 (審判應該正常工作)。

如果時間都花在管理方這應該給你一個想法。如果不是的話,這將是難以追查,但這裏的一些想法:

  • DNS
  • 認證(可以把它在外部認證,就像對一個域控制器?)之間
  • 網絡連接服務器
  • 未能與一個協議連接,回落到另一個(Firewall?
  • LLMNR?

希望這可以幫助

+0

乾杯丹尼,我會檢查這些事情。它仍然非常奇怪,但我們已經將它移動到另一臺服務器上,另一臺服務器是DR服務器。這應該讓我們有更多的時間來審問發生了什麼。 – David