Если доступ к базе данных также делается статическим со статическим SqlConnection
Определенно нет.Каждый вызов функции должен открывать новый SqlConnection с той же строкой соединения в блоке using.Не совсем понятно, сколько одновременных вызовов функций будет выполнять среда выполнения для одного экземпляра вашего приложения.Но если оно больше 1, то одноэлементное SqlConnection - это плохо.
Интересно, какой именно предел вы используете в базе данных SQL, лимит соединения или лимит одновременных запросов?В любом случае я немного удивлен (не эксперт по функциям), что вы получаете столько одновременных вызовов функций, так что может произойти что-то еще.Как будто вы пропускаете SqlConnections.
Но, читая документы по функциям, я предполагаю, что время выполнения функций масштабируется путем запуска нескольких экземпляров приложения-функции.Ваше приложение .NET может масштабироваться в одном процессе, но, очевидно, это не так, как работает функция.Каждый экземпляр вашего приложения Functions имеет свой собственный ConnectionPool для SQL Server, и по умолчанию каждый ConnectionPool может иметь 100 соединений.
Возможно, если вы резко ограничите максимальный размер пула в строке подключения, не будет так много открытых соединений.Когда вы нажмете Максимальный размер пула, новые вызовы SqlConnection.Open () будут блокироваться на срок до 30 секунд, ожидая доступности пула SqlConnection.Таким образом, это не только ограничивает использование соединения для каждого экземпляра вашего приложения, но и снижает пропускную способность под нагрузкой.