如何強制 SQL Server 使用最大網路頻寬

如何強制 SQL Server 使用最大網路頻寬

我有一個用 Delphi 寫的程序,使用 SQL Server 2008 作為資料庫引擎。我在兩個nano station m5提供的p2p連結上。當我在程式內部執行特定查詢時,網路監視器顯示客戶端正在以 8Mb/秒的速度從伺服器獲取一些數據,持續時間為 6 秒。

此外,當我透過乙太網路電纜將客戶端直接連接到伺服器並執行相同的查詢時,它會獲取相同的數據,但速度更快(僅在 2 秒內以 20mb/秒的速度獲取這些數據)但是當我將一個大檔案從伺服器複製到客戶端時,複製速度將高達 55Mb/秒。

這讓我很困擾,因為它導致客戶端應用程式的運行速度比實際網路頻寬的速度慢,我想知道是否有辦法強制 sql server 使用最大網路頻寬?

Windows Server 2012 R2 和 SQL Server 2008 僅在啟用 TCP/IP 網路協定和 100MB 全雙工網路伺服器核心 i5(有 8GB DDR 3 和 160GB SSD 以及千兆網路卡)的情況下執行

答案1

您不會獲得與傳輸文件相同的速度,但希望您可以變得更快。

使用 SQL Profiler 記錄對資料庫的查詢。查看結果以確保程式不會在主查詢的同時發送不必要的查詢,這可能會因延遲而減慢速度。理想情況下,您希望看到一個連接和一個查詢。

另外可以修改Delphi程式嗎?如果可以的話,請確保它正在使用連接池。 (建立一次連線並在需要進行查詢時重複使用它)SQL 連線本身需要交換大約 16 個資料包,將其乘以延遲,然後將其加起來。假設您有 100 毫秒的延遲,那麼連線可能需要 1.6 秒才能完成。

相關內容