Я использую Npgsql.EntityFrameworkCore.PostgreSQL v2.1, (это, в свою очередь, использует Npgsql 4) для подключения к кластеру Aurura с четырьмя работающими узлами.
Когда я использую пул соединений с Npgsql, я замечаючто два из четырех узлов получают большинство запросов.Похоже, что Npgsql многократно использует соединения и не использует преимущества всех четырех узлов.
Если я отключу пул соединений, запросы распределяются более равномерно по всем четырем узлам, но производительность падает из-за нового соединения для каждого запроса.
Пул строки подключения параметры : -
В моем прочтении говорится, что соединение будет использовано повторно, если оно не былопростоя в течение некоторого периода, и это отражает поведение, которое я вижу.Я часто обращаюсь к базе данных, поэтому у соединений никогда не остается времени на истечение срока действия.
В более ранней версии Npgsql была возможность удалить соединение через определенный промежуток времени, игнорируя, было ли соединение свободным или нет.
Вопрос:
Есть ли способ удалить соединения, которые не заняты, из пула соединений в Npgsql v4 или новее?