Достаточно ли хорош пул соединений JDBC Tomcat 7 для производства? И как это по сравнению с BoneCP?

Наш сайт получает примерно 1 миллион просмотров в день, и мы наверняка используем Tomcat.

Я не смог найти много информации о jdbc-pool, не уверен, что он достаточно стабилен для производства. . У кого-нибудь есть опыт на нем? и какие-либо настройки/настройки для справки?

Как кто-то упомянул, BoneCP может быть другим выбором. Но, похоже, он снят с производства (так грустно...). Будет ли это лучшим выбором?

Кстати, HikariCP слишком молод, я бы следил за ним, так как это самый последний/самый быстрый CP, который я нашел.

Спасибо за любой совет.


person BigFatSea    schedule 06.01.2014    source источник
comment
не удалось создать тег hikaricp, кто-нибудь может помочь?   -  person BigFatSea    schedule 06.01.2014


Ответы (5)


Я один из авторов HikariCP. Тем не менее, «новый» пул Tomcat является одним из лучших, которые мы тестировали. У него много опций, поэтому, если вы планируете использовать его в продакшене, убедитесь, что вы понимаете их, чтобы получить надежную конфигурацию.

Не путайте новый пул Tomcat с Apache DBCP, чего я бы избегал.

Мы начинаем процесс тестирования различных пулов, в том числе HikariCP, с такими тестами, как перенос базы данных из-под пула и измерение полученного восстановления. Проверьте сайт для результатов в ближайшие недели.

РЕДАКТИРОВАТЬ: Re: HikariCP слишком молод. Несмотря на молодость, через него прошло несколько миллиардов транзакций. Как и в любом другом случае, я бы посоветовал вам попробовать его в тестовой среде перед развертыванием. Но то же самое касается любого пула, который вы можете выбрать.

ОБНОВЛЕНИЕ 2015-06-01: Я хочу несколько пересмотреть свое заявление выше, кажется, что Apache Commons DBCP снова активен и взял на себя функции выделенного/разветвленного Tomcat DBCP. Рефакторинг в Commons DBCP на первый взгляд кажется значительным и положительным. Однако из-за их размера и несмотря на то, что он находится под старым баннером Commons DBCP, я бы охарактеризовал пул как менее зрелый, чем HikariCP на данный момент.

person brettw    schedule 07.01.2014
comment
Я должен сказать ХОРОШАЯ РАБОТА команде HikariCP, и я попробую это в некоторых своих проектах. Но для выбора производства, возможно, мне следует выбрать jdbc-pool. Любой опыт/ссылки будут оценены. - person BigFatSea; 07.01.2014
comment
@brettw Хотя это немного не по теме: вы являетесь автором HikariCP с самого начала или присоединились к нему позже, после того, как провели его всесторонние тесты / анализ? - person MRalwasser; 22.10.2014
comment
@brettw Я только что начал с весеннего загрузочного приложения, и оно имеет встроенный Tomcat JDBC-Pool. Тогда я начал искать, какой пул лучше, я не мог найти удовлетворительного ответа. Затем я пришел к вашему ответу, которому 2 года. Не могли бы вы обновить ответ и добавить примечание к редактированию, чтобы указать лучший пул соединений для серверного приложения при средней и высокой нагрузке с хорошей поддержкой параллелизма. - person Mubasher; 16.02.2017

BoneCP не снят с производства, но считайте его @Deprecated теперь, когда появился HikariCP; нет смысла вкладывать в это значительные ресурсы сейчас, когда на горизонте появилось что-то радикально лучшее. Это с открытым исходным кодом, так что давайте все вместе работать над лучшим решением. Источник: я (автор BoneCP)

person wwadge    schedule 14.01.2014
comment
Эй, не продавайте BoneCP задешево. У него есть функции, которых у HikariCP, скорее всего, никогда не будет, например, обработчики жизненного цикла соединения. Если пользователю нужны эти функции, BoneCP по-прежнему является очевидным выбором. Источник: один из авторов HikariCP. - person brettw; 15.01.2014

Tomcat DBCP готов к производству — это просто эволюция стандартного DBCP.

Пулы подключений к БД - довольно простые звери - я бы не считал их использование особенно рискованным.

person PaulJWilliams    schedule 06.01.2014
comment
Спасибо за разъяснение, был бы признателен, если бы было предоставлено какое-либо руководство по настройке / передовой опыт. - person BigFatSea; 07.01.2014
comment
Конфиг можно в значительной степени скопировать из commons-dbcp. Справочник довольно понятен. - person PaulJWilliams; 07.01.2014
comment
Я бы не назвал конн-пулы простыми. История серьезных проблем с различными пулами была связана как с серьезными, так и с тонкими проблемами. Такие вопросы, как потокобезопасность, проверка правильности подключения, разрешение ожидающих отправки txns, простота настройки. - person Basil Bourque; 23.08.2014

Это то, что использует компания, в которой я работаю, и у нас не было никаких проблем с этим.

Мы были более ограничены подключением нашего веб-сервера к нашим различным серверам данных, чем скоростью пула соединений Tomcat, поэтому, если скорость не очень важна, вам, вероятно, не о чем беспокоиться. Что касается надежности, то ни в одном из наших тестов соединение еще не разорвалось, и мы не слышали об этом на нашей производственной площадке.

Я сомневаюсь, что у вас возникнут проблемы, если вы будете использовать пул соединений Tomcat.

person RyNo    schedule 06.01.2014
comment
как упоминал @brettw, jdbc-pool может быть сложным для новичка, не могли бы вы поделиться своим опытом (или некоторыми ссылками) об этом? - person BigFatSea; 07.01.2014

Там, где я работаю, у нас есть пара систем, работающих на пуле Tomcat.

Должен сказать, что изначально было непросто разобраться во всех предоставляемых им параметрах и в том, как их значения на самом деле влияют на производительность и надежность.

Выполнив начальный этап проб и ошибок, я должен признать, что пул соединений Tomcat идеально подходит для наших нужд. Он кажется надежным, а также не вызывает никаких проблем с производительностью.

С учетом сказанного, я обязательно попробую HikariCP в своем следующем проекте.

person geoand    schedule 13.05.2014