Как измерить пул соединений с Oracle Автономная база данных (ATP)? - PullRequest
0 голосов
/ 08 апреля 2019

Если у меня есть Автономная база данных Oracle в exadata vm с 1 OCPU, как мне настроить пул соединений jdbc?Сколько соединений я должен указать?Какая максимальная сумма?

1 Ответ

1 голос
/ 09 апреля 2019

Ссылка David Fdez, указанная выше, верна.

Как правило, для максимальной производительности максимальное количество соединений с базой данных Oracle должно быть в несколько раз меньше количества аппаратных потоков, которые имеет сервер.Это общая сумма по всем клиентам.См. https://www.youtube.com/watch?v=Oo-tBpVewP4.

Это не всегда практично.Если есть сотни клиентов, подключающихся к небольшому серверу, даже при одном подключении к клиенту этот предел превышен.Это нормально.База данных все равно будет работать нормально, но не достигнет максимальной производительности, на которую она способна;он будет тратить больше времени на переключение контекста, чем идеально.Эмпирическое правило все еще полезно.Это говорит нам о том, что у каждого клиента должно быть только одно соединение, а не 20.

Возражение заключается в том, что при наличии только одного соединения клиентские запросы должны будут ждать соединения.Это правда, но если бы было 20 соединений, клиенты не ожидали бы соединения.Вместо этого они будут ждать еще дольше, пока сервер переключает контекст между огромным количеством процессов базы данных.Общая производительность системы будет намного хуже: 20 подключений на клиента, а не 1.

...