【问题标题】:Remote SQL SERVER run slow with asp net application远程 SQL SERVER 使用 asp net 应用程序运行缓慢
【发布时间】:2011-10-14 14:01:35
【问题描述】:

我有一个可以在我的第一个网站上正常运行的应用程序。

如果我将此应用程序移动到另一台服务器,但我不移动 db(保留到服务器 1),它运行非常缓慢以从 sql 检索数据。

问题只是网络问题还是我的代码有问题? 我将 ADO.NET 与 LINQ 一起使用...

谢谢

【问题讨论】:

  • 这就是为什么您应该在与您期望的生产环境类似的环境中进行开发。
  • 我的应用程序是在与生产环境相同的环境中开发的,但现在我必须将数据库和应用程序分开

标签: asp.net sql-server linq network-programming


【解决方案1】:

如果他们之前和现在不在同一台服务器上,那么是的,几乎可以肯定是网络问题。服务器是否位于同一位置?我在这里猜测一下,因为我没有足够的信息,但有可能您的 Intranet 配置不正确,或者您使用的是外部 IP。在这种情况下,请求和响应中的一个或两个正在通过 Internet 发送,而它们可能正在使用您或您公司的内部网络进行通信。

【讨论】:

  • 是的,这就是我的情况。我只能尝试提高我的网络速度。我的查询非常小......我使用外部IP。谢谢
【解决方案2】:

分析您的查询。看看执行每个需要多少时间。如果您的查询快速返回,则问题可能出在您的前端代码或网络上。

您可以将 Linq 查询记录到控制台(或 Textwriter,例如)。比如:

dataContext.Log = Console.Out;

然后在 SQL Server 中运行查询,看看它们的效率如何。他们使用索引吗?他们执行表扫描吗?等等。

【讨论】:

  • 他们返回的字段和/或记录是否比您实际需要的多?流经网络的数据越多,速度就越慢。例如,任何带有连接和选择 * 的查询都在浪费服务器和网络资源。
  • 不,我的查询类似于“var q = (from c in db.Table where c.Attivo = 1 select new { ... });”或者这个“P_FTIC.entities.Contatti C = db.Contatti.Where(x => x.IDContatto == _id && x.Attivo == 1).SingleOrDefault();”...
猜你喜欢
  • 2011-09-05
  • 2013-04-08
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多