2017-02-10 18 views
0

Я уверен, что со временем я пропущу связи, что приведет к блокированию процесса Tomcat (Windows).Запуск из пула соединений c3p0 приводит к высокому процессору?

Симптомы, когда в заблокированном состоянии до:

  • High CPU (привязанные на 50% +)
  • Большое количество TCP соединений с базой данных
  • Большинство/все апр нитками, застрявших в C3P0 .. .getConnection ... awaitAvailable

Если теория верна и мы протекаем соединения и, в конечном итоге, иссякаем, может ли это привести к высокому использованию ЦП?

Я заметил, что занятые потоки на самом деле в основном GC.

ответ

1

Непонятно, почему утечка соединения приведет к высокому использованию ЦП, если у вас нет очень большого maxPoolSize и есть некоторые накладные расходы на выдающиеся соединения.

Независимо от того, что нужно сделать, это исправить утечку соединения. См. C3P0 Spring Hibernate: Pool maxed out. How to debug?

Если проблема с ЦП возникает по мере устранения проблемы с утечкой соединения, то у вас будет меньше путаницы и шума, чтобы справиться с отслеживанием проблемы. Но утечка соединения может быть проблемой, так или иначе.

+0

Спасибо за ответ. Размер моего пула - 160, и регулярно вижу, что многие (или близкие) в этом состоянии ждут когда это произойдет. Очистка нескольких источников утечек, которые мы обнаружили, пока показала положительные результаты теста. Развертывание других трюков отладки c3p0. – Bobby