从现场服务器查询比本地机器慢

3
我有一个查询,从ASP.Net应用程序调用。当在我的本地计算机上运行时,它只需要约0.1秒的时间。但是当我将应用程序发布到生产服务器时,同样的查询需要超过40秒的时间。
两个代码库完全相同,并且都指向完全相同的服务器。我已经检查了防火墙问题,并且我的计算机和生产服务器都与数据库服务器在同一域中。
我错过了什么?可能会导致这个查询变得如此缓慢吗?
编辑:当前结构的插图。

它是否被缓存到你的开发环境中了? - fancyPants
你所说的“cached”是什么意思?如果你指的是结果被缓存了吗?不是的。这不仅仅是一个单独的查询,而是每个查询都运行了。没有比上面的例子更引人注目的了,时间增加了40秒,但所有查询在从实时服务器运行时都会表现得更慢。 - anothershrubery
我认为你需要配置一台新的机器,并从现有服务器复制配置和数据。如果查询仍然需要> 1秒,那么问题不在服务器上,而是与SQL数据或配置有关。 - Satish Pandey
查询是否总是需要大约40秒才能返回?该应用程序使用哪种语言编写?例如,如果它是asp.net,则编译时间可能会解释延迟。或者您是否有其他像防火墙等减慢速度的因素? - Tom Chantler
是的,仅仅检查ping就可以发现,从我的本地机器到DB服务器的ping值小于1ms,从生产服务器到DB服务器的ping值为20ms。我指向了一个复制DB服务器,它从生产服务器的ping值很低,并且已经减少了所需的时间。现在需要调查为什么生产服务器和DB服务器之间的连接如此缓慢,因为指向复制服务器是不可维护的。 - anothershrubery
显示剩余3条评论
1个回答

0

这是否可以解释为实时服务器还托管其他应用程序/站点 - 即机器资源的需求?只是一个想法...


现场服务器有2个站点,两者都相当小,并且两者都存在缓慢查询的问题。它们的访问受到限制,因此两个网站上的活动并不那么频繁,当然也没有任何应该使查询变慢到这种程度的情况。 - anothershrubery
应用服务器和数据库服务器之间的网络问题? - Martin Milan
是的,如上面问题的评论所述。应用服务器和数据库服务器之间的连接很慢。切换到复制数据库服务器可以解决问题,但不可持续,现在的问题是找出网络问题的原因。 - anothershrubery

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接