2011-10-14 92 views
0

我有一個應用程序,在我的第一個網站正常運行。遠程SQL SERVER與asp網絡應用程序運行緩慢

如果我將這個應用程序移動到另一個服務器,但我不移動數據庫(保留到服務器1),它運行速度非常緩慢,以從SQL中檢索數據。

問題是隻有網絡或在我的代碼中是否有任何問題? 我使用ADO.NET與LINQ ...

感謝

+0

這就是爲什麼你應該開發一個類似於你所期望的生產環境。 – HLGEM

+0

我的應用程序是在與生產環境相同的環境下開發的,但現在我必須將數據庫和應用程序分開 – maurox

回答

1

如果他們駐留在同一臺服務器上之前,現在他們沒有,那麼是的它幾乎肯定是網絡問題。服務器是否位於同一位置?我在這裏猜測,因爲我沒有足夠的信息,但有可能您的Intranet配置不正確,或者您使用的是外部IP。在這種情況下,請求和響應中的一個或兩個都可以通過互聯網發送出去,以便他們可以使用您的或公司的內部網絡進行通信。

+0

是的,這是我的情況。我只能嘗試提高我的網絡速度。我的查詢非常小...我使用外部IP。謝謝 – maurox

+0

是同一內部網絡上的服務器還是沒有? – joelmdev

+0

不,沒有LAN。有兩個單獨的服務器 – maurox

1

分析您的查詢。看看每次執行需要多少時間。如果您的查詢快速返回,則問題可能是您的前端代碼或網絡。

您可以將您的Linq查詢記錄到控制檯(例如,Textwriter)。例如:

dataContext.Log = Console.Out; 

然後在SQL Server中運行查詢並查看它們的效率。他們是否使用索引?他們是否執行表掃描?等等。

+0

他們是否返回比您實際需要的更多字段和/或更多記錄?網絡中越多的數據流越慢。任何帶有join和select *的查詢都會浪費服務器和網絡資源。 – HLGEM

+0

不,我的查詢就像「var q =(從db.Table中的c,其中c.Attivo = 1選擇新的{...});」或者這個「P_FTIC.entities.Contatti C = db.Contatti.Where(x => x.IDContatto == _id && x.Attivo == 1).SingleOrDefault();」... – maurox

相關問題