Я использовал Azure-Sql-Server.Хостинг моей базы данных и использование Entity-Framework (C #) поверх него.Я использовал Standart S3 уровня. Этот уровень цен ограничен одновременным подключением к БД 200.
Моя система работает в архитектуре Micro-services.Каждый из моих сервисов имеет открытые подключения к БД.
Вот так выглядит моя строка подключения
metadata = res: ///Model1.csdl | res: ///Model1.ssdl |res: //*/Model1.msl; provider = System.Data.SqlClient; строка подключения провайдера = "Источник данных = mydb.database.windows.net; Начальный каталог = производственный; Persist Security Info = True; Идентификатор пользователя = пользователь @my; пароль = mypass; Pooling = true; максимальный размер пула = 2; Enlist = false; "
время от времени я отслеживаю количество подключений к моей БД.
Используя
SELECT DB_NAME(eS.database_id) AS the_database, eS.is_user_process, COUNT(eS.session_id) AS total_database_connections
FROM sys.dm_exec_sessions eS
GROUP BY DB_NAME(eS.database_id)
, eS.is_user_process
ORDER BY 1, 2;
END
, который дает мне результат:
Если я суммирую всесоединения я получаю в результате всего 215 соединений.Это может привести меня в соответствие с некоторыми ограничениями подключения, которые я нахожу время от времени.
- Вопрос в том, что все эти соединения "не-пользовательский процесс" с "мастером"?(111 соединений) кто их спрашивает?кому они нужны?как найти?
- Все эти соединения, указанные выше, являются счетчиком как часть предела 200 соединений?
Спасибо!