最近(上个月)我在 API 中遇到了问题,并检查了我看到的日志:
System.Data.SqlClient.SqlException(0x80131904):连接超时 已到期。尝试消耗时超时时间已过 登录前握手确认
前端有时会挂起,单个调用可能需要几分钟才能返回(通常需要 < 1 second). Upon checking the logs I see the error above.
注意: 当从已部署的 API 引发此错误时,数据库会做出响应,并且使用 sp_who2 时看不到那么多连接。我有 2 个 API 指向同一个数据库,并且无论发生什么事件,它们都会经历这种挂起/超时
据我所知,请求永远不会离开客户端(API),这可能是 Azure 网络问题吗?如果不是这个,有人知道为什么会发生这种情况吗?
部署在 Azure 上的 MSSQL Server
请提供更多详细信息。 Azure SQL 数据库?托管实例?或者 Azure VM 上的 SQL Server?或者其他什么,比如边缘/无服务器?
如果是前两者之一,那么属于第几层?什么版本,什么版本?
API 到底是什么?它是如何“部署在 Azure 上”的?
验证未为数据库设置自动关闭,这可能会导致第一个连接在等待数据库唤醒时超时。与可以自动暂停(或可以通过编程方式显式暂停)的无服务器/专用池类似。