如何强制 SQL 服务器使用最大网络带宽

如何强制 SQL 服务器使用最大网络带宽

我有一个用 Delphi 编写的程序,使用 SQL Server 2008 作为数据库引擎。我使用两个 nano station m5 提供的 p2p 链接。当我在程序内部运行特定查询时,网络监视器显示客户端正在以 8Mb/秒的速度从服务器抓取一些数据,持续 6 秒。

此外,当我通过以太网电缆将客户端直接连接到服务器并运行相同的查询时,它会抓取相同的数据,但速度更快(以每秒 20mb 的速度获取这些数据,持续时间仅为 2 秒) 但是当我将一个大文件从服务器复制到客户端时,其复制速度将高达 55Mb/秒。

它困扰着我,因为它导致客户端应用程序运行速度比实际网络带宽所能承受的速度慢得多,我想知道是否有办法强制 SQL 服务器使用最大网络带宽?

Windows Server 2012 R2 和 SQL Server 2008 仅启用 tcp/ip 网络协议,并配备 100MB 全双工网络服务器核心 i5、8GB DDR 3 和 160GB SSD 和千兆 NIC

答案1

您不会获得与传输文件相同的速度,但希望可以获得更快的速度。

使用 SQL Profiler 记录数据库查询。查看结果以确保程序没有发送伴随主查询的不必要的查询,这些查询可能会因延迟而减慢速度。理想情况下,您希望看到一个连接和一个查询。

您还可以更改 Delphi 程序吗?如果可以,请确保它使用连接池。(创建一次连接并在需要进行查询时重复使用它)SQL 连接本身需要交换大约 16 个数据包,将其乘以您的延迟,就可以加起来了。假设您的延迟为 100 毫秒,那么连接可能需要 1.6 秒才能完成。

相关内容