将文件放入“LIVE”环境时查询速度慢

时间:2013-03-27 11:51:16

标签: asp.net performance oracle architecture

情况就是这样......

我们在位置A有一个本地开发服务器,我们构建所有的aspx页面。我们的数据库也位于A位置。

在开发服务器上测试我们的文件时,我们的查询会在大约1秒内快速运行。

我们只是将文件移动到位于位置B的实时服务器(数据库仍位于位置A),现在查询的时间比开发服务器长5到10倍。位置A位于东安格利亚,位置B在伦敦大约相距100英里。

同样在开发和实时服务器上,运行的第一个查询比之后的其他查询要花费更长的时间。

任何可能导致缓慢的想法?

修改

我已经开始追踪几个页面,似乎End Load占用了所有方法中最长的但是我不确定为什么

我也无法访问我们的外部服务器,无法在那里安装SSMS或Oracle开发人员来测试任何查询。

1 个答案:

答案 0 :(得分:1)

  

“运行的第一个查询比其他查询需要更长的时间   之后的询问。“

这就是缓存的效果。第一个查询支付物理IO的费用。后续查询受益于查找已存在于缓存中的相关记录,DB缓存或某些其他OS或架构缓冲区。

至于两种环境之间的性能差异,可能还有以下几点:

  

“大约相隔100英里”

两个位置之间的网络连接可能会限制数据传输。假设它是私人连接,您需要与您的网络管理员交谈。如果您使用的是公共基础设施,那么您的选择是有限的。


  

“似乎End Load占用了所有方法中最长的”

好吧,所以我不是ASPX专家(我在这里是为了[oracle]标签)但是一些轻量搜索显示了几个线程,表明它可能是“用户控件”,如these fire just before the End Load event 。例如this other SO question