SQL Server在本地networking中速度非常快,通过Internet访问时速度非常慢

我做了一个testing,因为在Internet上访问时我工作的数据库非常慢:

现在,当我在家庭networking的MSSMS中运行SELECT TOP 5 FROM tblEmployees时,我立即得到数据,但是当我使用MSSMS(或者我正在使用的程序,它是相同的)进行相同的远程数据时, 6秒。 对于“更大”的数据集来说更糟,比如“更大”的数据库就是300个客户端。 这就像几kB的数据,但我需要等待超过10秒钟才能打开一个表。

我上周读到这个可能是完整的。 AUTO_CLOSE被设置为OFF。

与此同时,我正在同一台PC上运行MySQL服务器,也可以访问Internet。 它工作得很快。 但是SQL Server工作起来非常慢。 这意味着这个问题与SQL Server的一些设置有关…但是哪一个?

看来你的工作负载对networking延迟非常敏感(尽pipe一个简单的SELECT不应该performance出这种行为)。

要进一步debugging,我需要一个SELECT语句的networking转储。 请执行以下操作:

  1. 将wireshark安装到您的Windows PC上
  2. 使用SSL连接到您的数据库(以防止任何私人信息泄漏到数据包转储)
  3. 开始嗅探数据包
  4. 执行一个SELECT语句
  5. 停止嗅探
  6. 取消剩余的敏感信息
  7. 在这里显示转储