【问题标题】:SQL Azure: More Intermittent TimeoutsSQL Azure:更多间歇性超时
【发布时间】:2012-06-21 22:08:08
【问题描述】:

我们有一套在 Windows Azure 和 SQL Azure 上运行的 5 个在线拍卖系统。每个系统由一个 Web Worker 和一个或多个 Web 角色组成。每个系统都使用 ASP.NET MVC 3 和 Entity Framework、Repository Pattern 和 StructureMap。

worker 角色负责内务管理并运行两组进程。一组每十秒运行一次,另一组每秒运行一次。每个进程都可能运行数据库查询或存储过程。这些是通过 Quartz.net 安排的

网络角色服务于公共界面和后台。在其他基本的 crud 功能中,这两个都提供屏幕,当打开时,将重复调用控制器方法,这将导致执行存储过程只读查询。重复频率约为每位客户 2-3 秒。一个典型的用例是打开 5 个后台窗口,打开 25 个最终用户窗口——所有这些窗口都在重复访问系统。

很长一段时间以来,我们一直遇到间歇性 SQL 超时错误。最常见的三个是:

System.Data.SqlClient.SqlException:从服务器接收结果时发生传输级错误。 (提供者:TCP Provider,错误:0 - 现有连接被远程主机强行关闭。)

System.Data.SqlClient.SqlException:从服务器接收结果时发生传输级错误。 (提供者:TCP Provider,错误:0 - 信号量超时期限已过。)

System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。

唯一可预测的情况是在拍卖期间,特定控制器 -> sproc 在事件期间开始超时(可能是由于负载)。在所有其他时间,即使在用户不活动期间,错误似乎都是完全随机的,并且出现单次、二次和三次等。例如,系统会运行 18 小时而没有错误,然后可能会出现 5 到 10 次来自不同管理方法的错误,或者可能是用户登录并查看了他们的帐户。

其他信息:

我已尝试使用本地 SSMS 和 Azure 基于 Web 的查询工具在 SQL Azure 上运行受影响的查询/存储过程 - 似乎都执行得很快,最多 1 秒。尽管我绝不是 SQL 查询性能专家,也不是任何其他类型的专家,但查询计划没有显示出任何可疑之处 J

我们已将所有受影响的区域封装在 Azure SQL 瞬态故障处理块中 - 但正如这里所讨论的 http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/7a50985d-92c2-472f-9464-a6591efec4b3,它们不会捕获超时,根据“Valery M”,这是有充分理由的。

我们没有在数据库中存储任何会话信息,尽管 asp.net 成员信息存储在数据库中。

我们使用 1 个“SQL Azure 服务器实例”来托管所有 5 个数据库,其中两个用于暂存,三个用于生产。所有 5 个系统通常同时处于活动状态,尽管在任何给定时间不太可能有超过一个系统处于活载使用状态。 所有 Web 角色、辅助角色和 SQL Azure 服务器都位于同一个 Azure 地理区域。

关于我们应该在哪里寻找的任何想法?为每个系统提供自己的 SQL Azure 服务器会有所帮助吗? ... 自己解决方案失败 - 是否有可能让 Microsoft 打开支持票并查看我们的应用程序的内部情况 - 如何解决这个问题?

提前致谢。

宜兰

【问题讨论】:

  • Ilan,我现在在 out 应用程序中遇到相同类型的错误。你最后做了什么?顺便说一句,在那个短暂的错误帖子中,Valery M 指出,如果执行计划和数据库索引看起来不错,那么至少在一些您无法解决的超时情况下使用该模式可能是可以的。

标签: sql asp.net-mvc entity-framework azure structuremap


【解决方案1】:

SQL Azure 是一个多租户系统,您可能会受到其他租户过度使用的影响。微软通过限制其他租户做得很好,但偶尔 SQL Azure 查询会超时..

要打开 Microsoft 支持,请访问此页面:https://support.microsoft.com/oas/default.aspx?gprid=14919&st=1&wfxredirect=1&sd=gn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    相关资源
    最近更新 更多