System.Data.SqlClient .SqlException (0x80131904): время ожидания соединения истекло. При попытке использовать подтверждение установления связи перед входом в систему истек период тайм-аута.
- Я установил пул соединений на 3 КБ и время ожидания до 60 лет.
- API — это веб-API ASP.NET Core 6, развернутый в службе приложений Azure.
- API использует EF Core для подключения к база данных
- База данных представляет собой базу данных SQL Azure, использующую уровень Standard (модель приобретения на основе DTU).
- Ничто не кажется неправильным со стороны базы данных, когда вы проверяете метрики все стабильно очень низкие.
- Длительных запросов нет (3 секунды — это самый длинный срок для очень конкретного вызова)
- База данных настроена чтобы разрешить сетевым приложениям Azure доступ к нему (брандмауэр), и в большинстве случаев это работает нормально.
Примечание. База данных реагирует, когда эта ошибка выдается из развернутого API, и соединений не так много. видно с помощью sp_who2. У меня есть два API, указывающие на одну и ту же базу данных, и оба испытывают это зависание/тайм-аут, когда какое-либо событие происходит.
Из того, что я понимаю, запрос никогда не покидает клиент (API), мог бы это проблема с сетью Azure? Если не это, то есть ли у кого-нибудь идеи, почему это происходит?
Подробнее здесь: https://stackoverflow.com/questions/784 ... -to-sql-se