Как вы будете динамически настраивать максимальное количество соединений в пуле соединений БД?
Я почти отказался от использования «жестко запрограммированного» (файла конфигурации, но все же) количества соединений. Иногда больше подключений обеспечивают лучшую производительность. В других случаях меньшее количество соединений делает лучшую работу.
Какие измерения вы бы использовали, чтобы определить, открыли ли вы слишком много соединений и действительно ли это ухудшает производительность? Пожалуйста, имейте в виду, что я не могу просто «остановить мир» для запуска теста производительности - мне нужно что-то, что я мог бы сделать своими собственными ответами на запросы (из которых у меня нет конкретного измерения - некоторые медленные, некоторые быстрые, и я не знаю заранее, что есть что) определить.
(обратите внимание, что я использую Java JDBC с базовыми драйверами DataDirect)
Используется ли этот подход где-нибудь (и был ли он успешным)? Если нет, то как бы вы решили решить «каково оптимальное количество соединений», когда вам необходимо поддерживать Oracle и MS SQL, и для нескольких версий, и для запросов дико различаются по своей природе (индексированный поиск / неиндексированный поиск / массовая выборка данных / сопоставление условий (индексированные и неиндексированные, с подстановочными знаками и без них)?
[Я знаю, что это похоже на вопрос об оптимальном количестве соединений в пуле , но я спрашиваю о динамической конфигурации, пока он спрашивает о статической]