2012-04-04 17 views
0

我們在計算機A上配置了SQL Server 2008 R2的「服務器」。在同一個局域網中,我們有機器B,它是一臺具有相同硬件而不安裝SQL Server的計算機。SQL Server大量的網絡通信開銷?

我們有一套單元測試要求從數據庫中一些記錄,並將它們映射到正確的CLR對象。當從機器A運行此單元測試時,使用SQL Server,測試運行5ms。

如果我測試的代碼複製到機器B和運行測試共坐〜50毫秒的這是一個顯著增加,如果這僅僅是通過網絡開銷造成的。

執行不發送大量數據的查詢(沒有斑點/列中的XML數據),總的數據大約是幾KB。數據使用IDataReader讀取。我們使用一次打開的單個連接,用於向數據庫發出約24次查詢。

是否有任何提示/技巧,我可以爲了嘗試測試,如果它是真正的網絡開銷減慢執行?我有一種感覺,就是在SQL Server中沒有正確配置。

+0

我不知道該怎麼回答你期望在這裏:任何你做在網絡上會比在本地做顯著慢,所以本身這一點也不奇怪。令人驚訝的是,你正試圖在你的單元測試執行中保存45ms。如果你能解釋爲什麼你需要這樣做,有人可能會有一個建議。您可能還想嘗試dba或serverfault網站,因爲這似乎不是一個編程問題。 – Pondlife 2012-04-04 07:54:55

+0

@Pondlife,thx尋求幫助。我確信網絡開銷可能是問題,但我想知道如果我沒有錯過什麼和/或是否有方法可以描述這樣的事情。把它移到serverfault/dba可能是個好主意,但我不知道如何去做。 – thekip 2012-04-04 08:31:05

+0

你還沒有真正弄清楚「問題」是什麼,因爲大多數人不會抱怨他們的單元測試花費45毫秒來執行:) – Pondlife 2012-04-04 11:44:05

回答

0

這聽起來像是正常的行爲,它只是網絡延遲...要確認是否這些數字聽起來合理,從另一個坪一臺服務器,我也不會感到驚訝,如果這個報道往返順利進入兩位數的毫秒而平的本地機器應該在1ms內...我同意Pondlife,聽起來像是一個健康局域網的課程。

+0

我已經ping服務器機器,它進來時約1毫秒,有時更低,有時1毫秒。我的問題是我無法衡量爲什麼會發生這種情況。 – thekip 2012-05-22 07:17:15