我有一个networkingstream量问题,我可能会得到很多答案。 在工作中,我将VPN连接到客户的内部networking,在那里他们有阶段SQL数据库。 每次我发展(修复/增强),我喜欢做一个快速的质量保证。 当我在SQL Server Management Studio中运行SQL查询时,事情似乎并不慢。 但是当我通过使用我的本地构build与web.config的阶段版本运行他们的Web应用程序时,与使用我们公司的开发SQL数据库web.config相比,滞后非常慢。 文件。
为了给你一个比较,我开始数1-1000,2-1000等。 用我们的开发web.config加载页面需要1.5秒。 但是,当使用阶段web.config,我计算略长于8秒。 我开始将应用程序模块移到使用AJAX,所以我看到在这些页面上的一些改进,但页面仍然需要加载。 所以如果我发布一大包更新,这真的会减慢我的testing。
如果你能推荐一些诊断这种缓慢/滞后的工具,那就是我所感兴趣的。另外,如果你能描述我如何解决这个问题,那就是我正在寻找的东西。 我是一个.NET应用程序开发人员,而不是networkingpipe理员,所以我不知道从哪一个开始。
=============================================== =
以上澄清(5/23/2011更新):
================================================
显然,SQL Server Management Studio也很慢,所以它绝对是跨networking的SQL连接。 当VPN'ed到* .234 Windows Server 2008盒子的networking时,我在本地盒子上做了一个快速的ping。 然后,我在同一个networking上的另一台计算机上做了另一台* .235。 所以也许没有答案。 他们正在使用一条T1线,所以这可能是问题。 这些来自ping的时代是截然不同的。
在不同的机器上的远程桌面,但不同的networking机器。 从同一networkingping * 234盒子:
C:\ Users \ Administrator> ping 192.168.2.234
用32字节数据Ping 192.168.2.234:
来自192.168.2.234的回复:字节= 32 时间<1ms TTL = 128
来自192.168.2.234的回复:字节= 32 时间<1ms TTL = 128
来自192.168.2.234的回复:字节= 32 时间<1ms TTL = 128
来自192.168.2.234的回复:字节= 32 时间<1ms TTL = 128
Ping的统计数据为192.168.2.234:数据包:发送数= 4,接收数= 4,丢失数= 0(丢失率为0),往返时间以毫秒为单位:最小值= 0ms,最大值= 0ms,平均值= 0ms
C:\用户\pipe理员>
在本地机器VPN时,我正在ping机器。 从不同的networkingping * 234盒子。
C:\ Windows \ system32> ping 192.168.2.234
用32字节数据Ping 192.168.2.234:
来自192.168.2.234的回复:字节= 32 时间= 856ms TTL = 127
来自192.168.2.234的回复:字节= 32 时间= 717ms TTL = 127
来自192.168.2.234的回复:字节= 32 时间= 561ms TTL = 127
来自192.168.2.234的回复:字节= 32 时间= 708ms TTL = 127
Ping的统计数据为192.168.2.234:数据包:已发送= 4,已收到= 4,丢失= 0(0%丢失),以毫秒为单位的往返时间:最小= 561ms,最大= 856ms,平均= 710ms
C:\ Windows \ System32下>
当您使用远程桌面时,只有屏幕更新被发送到您的PC,所以通过VPN的stream量是最小的。 在这种情况下,从远程桌面到SQL Server的数据库调用实际上是在VPN另一侧的本地networking上进行的。 您的机器只是获取远程桌面屏幕更改。
当您通过本地浏览器与网站联系时,您需要在整个VPN中提取整个结果集,远远超出您的远程桌面会话的数据量(远程桌面效率非常高,运行速度大约为2-10kbps,具体取决于您的设置)。
在这种情况下加快速度的唯一方法是:
这全是带宽问题。 除非你愿意在你和远程主机之间的高速networking连接上投入大量的资金,否则你将很难在局域网所能达到的任何地方达到速度。
在SQLpipe理工作室中运行查询时,您正在执行一次往返。 您只有一次(例如,〜500毫秒)遇到networking延迟的增加。
在您的应用程序中,您可能会执行许多查询; 每一个串行体验相同的延迟。 因此,如果您的应用程序执行了10个查询(或者可能有某种forms的主从查询正在进行),那么您很快就会在响应时间内计时多个秒钟。
这是关于执行许多查询的很好的信息,但让我给你一点信息? 我仍然有点困惑。 我昨天发现了一件非常有趣的事情,所以很简单。 忘记web.configs的场景。 当我做一个远程桌面并访问远程桌面(这是该networking托pipe的应用程序和SQL服务器上的一台机器)的URL,每个页面加载速度非常快(<1毫秒)。 但是当我通过本地机器上的networking浏览器进行连接时,速度非常慢(500 + ms)。 我在这两种情况下VPN'ed。 我的问题的解决方法是使用远程桌面。 在这个新的场景中,我正在远程服务器上的远程服务器上托pipeWeb应用程序。 这是一个简单的问题。 为什么远程桌面如此之快? 有GOT是模仿在我的本地机器上的一种方式。 为什么要在本地执行远程桌面连接并在本地打开Web浏览器与查看本地计算机上的网站有什么不同呢?
在我的第一个scheme的一个侧面说明…我还发现,registry设置“MaxPacketSize”减less一半的毫秒。 但事情还是非常缓慢。
http://support.microsoft.com/default.aspx?scid=kb;en-us;244474#LetMeFixItMyselfAlways