Подтвердить что ты не робот

Почему так много "postgres.exe" создаются при запуске моего приложения?

У меня есть приложение J2EE, развернутое на сервере приложений JBoss6 на платформе Windows (Vista 32 бит). Моя база данных " PostgreSQL 9.0.4", и я использую драйвер JDBC: "postgresql-9.0-801.jdbc4.jar".

В моем файле ds.xml я определил max-pool-size = 75 и min-pool-size = 40. Я использую JPA/Hibernate, а также используя javax.sql.DataSource.

В окне "Диспетчер задач" я обнаружил, что при запуске сервера PostgreSQL он создает 6 "postgres.exe" процессы. Теперь, когда я развертываю/запускаю приложение J2EE в JBoss, я нахожу всего 66 postgres.exe процессов. Таким образом, из-за запуска моего приложения было создано (или запущено) еще 60 процессов postgres.

Если я изменил максимальный размер пула на 40, то я заметил, что у меня есть всего 46 процессов postgres.exe, В обоих случаях нет. процессов postgres доходит до 6, когда я останавливаю свое приложение J2EE.

Итак, мой вопрос, это нормально? Являются ли эти дополнительные процессы порожденными/запущенными из-за "объединения соединений" (используется Hibernate)?

4b9b3361

Ответ 1

Да, это нормально. Из руководства :

Сервер PostgreSQL может обрабатывать несколько параллельных соединений из клиентов. Для этого он запускает ( "вилки" ) новый процесс для каждого соединение. С этого момента клиент и новый серверный процесс общаться без вмешательства в исходном процессе postgres. Таким образом, процесс главного сервера всегда работает, ожидая клиента соединений, тогда как клиентские и связанные с ними процессы сервера приходят и перейти.