2016-08-15 9 views
0

Я использую HikariConfig как DataSource базы данных postgres на весеннем сервере. Должен ли я настроить maxPoolSize? (значение по умолчанию равно -1) Сколько размера пула я могу использовать? Существуют ли зависимости от аппаратного обеспечения?HikariConfig и maxPoolSize

ответ

0

maxPoolSize является индикатором как предел для вашего приложения. Вы должны рассчитать это на основе служебных/аппаратных средств трафика/приложения. F.E вы можете установить ограничение на 10000 соединений, что не означает, что он будет работать, как ожидалось. На самом деле это будет зависеть от вашего оборудования, потому что если ваш компьютер содержит одно ядро, 100000 активных соединений просто растянут как приложение java, так и postgres, поскольку ОС будет бороться за все эти вызовы ввода-вывода. Хуже того, если база данных и приложение java находятся на разных компьютерах в одной сети, у вас также есть сетевые издержки.

Что на самом деле оптимизирует производительность является minimumIdle свойство вместе с idleTimeout, так что если вы рассчитали нужное значение для тех, то он никогда не должен достигать значения maxConnection, а также причины накладных расходов из-за блокировки ожидания или ресурса голодание. Единственное плохое здесь - это то, что если ваше приложение ошибочно разработано (fe держит соединение дольше, чем нужно, не выполняя транзакции, не используя пакетные задания для длительных операций), то это повлияет на опыт пользователя, но это другой вопрос ,

я)

Должен ли я установить MaxPoolSize? (Значение по умолчанию равно -1)


Вы должны установить его в качестве глобального предела, так что и ваше приложение и база данных будут ремонтопригодны и здоровыми. Значение по умолчанию не -1, а 10. Подробнее here

б)

Сколько размер пула я могу использовать?


Это зависит от вашего приложения и инфраструктуры. Единственный способ получить эти числа - это интегрированные тесты для наиболее растягивающих Use Cases. Некоторая информация here относительно Postgres настройки

III)

Существуют ли какие-либо зависимости с аппаратным обеспечением?


Да, есть, и для виртуальной машины Java и сервер Postgres, а также не только с точки зрения аппаратного обеспечения, но также и то, что OS вы можете выбрать

 Смежные вопросы

  • Нет связанных вопросов^_^