我们正在将 Azure SQL 数据库(网络版)用于 MVC3 ASP.NET/EF5 应用程序。
此 SQL 数据库设置支持的 session 数量是否有限制?我只是想知道我们遇到的任何延迟是否是由于某种形式的排队或共用造成的。目前我们大约有 5 个并发用户。
谢谢。
最佳答案
SQL Azure Web 版数据库应支持大量并发用户 - 我们运行的应用程序每分钟对 Web 数据库发出数千个查询。
节流
SQL Azure 确实实现了 database throttling维持平台所有用户的性能。如果当前操作已应用限制,您将收到错误 40501。The link我还向您展示了如何确定应用限制的原因。如果您收到此错误,您可以将其视为暂时性错误并等待后再重试。
听起来您的连接并未受到限制,因为您只提到了 5 个并发用户并谈论了延迟,而限制错误很快就会发生。
瞬时错误处理
如果您遇到连接超时等问题,您需要将其处理为 transient errors 。暂时性错误是超时或连接断开,以及错误代码 10054、10053、40501(如上所述进行限制)和 40197(通常是因为正在进行升级或故障转移操作)。
您应该确保实现重试逻辑来处理 transient 错误。
查询性能
如果您正在执行长时间运行的查询,您可以通过登录数据库管理 URL 来检查哪些查询速度较慢:
https://<database-id>.database.windows.net/#$database=<database-name>
登录并点击“查询性能” - 查看顶部运行时间最长的查询。
关于azure - Azure Web SQL 数据库的 session 数量是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620702/