我们有一台在服务器A上配置了SQL Server 2008 R2的“服务器”。在同一局域网中,我们有机器B,它是一台没有安装SQL Server的硬件相同的机器。
我们有一组单元测试,它们从数据库中请求一些记录并将它们映射到正确的CLR对象。当使用SQL Server从计算机A运行此单元测试时,测试将在5毫秒内运行。
如果我将测试代码复制到机器b并运行它,那么测试总共需要大约50ms,如果这只是由网络开销引起的话,这是一个显着的增加。
执行的查询不会发送大量数据(列中没有blob / xml数据),总数据大约为几KB。使用IDataReader
读取数据。我们使用一次打开的连接,用于向数据库发出大约24个查询。
我是否可以尝试使用任何提示/技巧来测试网络开销是否真的会减慢执行速度?我感觉有些东西在SQL Server中没有正确配置。
答案 0 :(得分:0)
这听起来像是正常的行为,它只是网络延迟...为了确认这些数字听起来是否合理,从另一台服务器ping一台服务器,如果报告的往返数据达到两位数毫秒,我就不会感到惊讶了。你的本地机器应该是1ms ...我同意Pondlife,听起来像是健康局域网的标准杆。