#hikaricp — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #hikaricp, aggregated by home.social.
-
HikariCP в проде: три раза, когда пул соединений уронил сервис, и почему maximumPoolSize тут был ни при чём
В прошлой статье про PostgreSQL я разбирал три инцидента на стороне базы — блокировки, bloat и ночные пересчёты. В комментариях несколько человек написали примерно одно и то же: «база базой, а покажи, что творилось на стороне приложения — пул-то небось тоже горел». Горел. Ещё как. Это продолжение того же разбора, но на слой выше — про HikariCP , дефолтный пул соединений в Spring Boot. Тот самый, который «просто работает», пока не перестаёт. Проекты те же, что и в статье про миграцию и в статье про PostgreSQL: банковская система после переезда с Oracle (терабайт, 70+ таблиц, 500–3000 RPS на чтение и 50–300 на запись в пике) и enterprise-платформа на Java/Spring, где PostgreSQL жил под Hibernate. Разные команды, разные нагрузки, но сюжет один: сервис встаёт, в логах Connection is not available , и первое, что делает любой человек, — лезет крутить maximumPoolSize . И почти всегда делает хуже. Это не туториал «как настроить HikariCP за 10 строк». Таких на Хабре хватает, и половина из них сводится к «поставьте пул побольше». Здесь — список мест, где у нас всё ломалось, в порядке от «это все знают, но всё равно наступают» до «поняли только в проде под нагрузкой». Если вы сейчас живёте на HikariCP — читайте как чеклист. Если уже прошли через это — сверьте, сколько совпало. Дисклеймер: проекты под NDA, названия, точные объёмы и часть деталей изменены. Порядок величин, конфиги и сами инциденты — настоящие.
https://habr.com/ru/articles/1081494/
#hikaricp #пул_соединений #Spring_Boot #PostgreSQL #connection_pool #JDBC #транзакции #производительность #connection_leak #высоконагруженные_системы
-
HikariCP в проде: три раза, когда пул соединений уронил сервис, и почему maximumPoolSize тут был ни при чём
В прошлой статье про PostgreSQL я разбирал три инцидента на стороне базы — блокировки, bloat и ночные пересчёты. В комментариях несколько человек написали примерно одно и то же: «база базой, а покажи, что творилось на стороне приложения — пул-то небось тоже горел». Горел. Ещё как. Это продолжение того же разбора, но на слой выше — про HikariCP , дефолтный пул соединений в Spring Boot. Тот самый, который «просто работает», пока не перестаёт. Проекты те же, что и в статье про миграцию и в статье про PostgreSQL: банковская система после переезда с Oracle (терабайт, 70+ таблиц, 500–3000 RPS на чтение и 50–300 на запись в пике) и enterprise-платформа на Java/Spring, где PostgreSQL жил под Hibernate. Разные команды, разные нагрузки, но сюжет один: сервис встаёт, в логах Connection is not available , и первое, что делает любой человек, — лезет крутить maximumPoolSize . И почти всегда делает хуже. Это не туториал «как настроить HikariCP за 10 строк». Таких на Хабре хватает, и половина из них сводится к «поставьте пул побольше». Здесь — список мест, где у нас всё ломалось, в порядке от «это все знают, но всё равно наступают» до «поняли только в проде под нагрузкой». Если вы сейчас живёте на HikariCP — читайте как чеклист. Если уже прошли через это — сверьте, сколько совпало. Дисклеймер: проекты под NDA, названия, точные объёмы и часть деталей изменены. Порядок величин, конфиги и сами инциденты — настоящие.
https://habr.com/ru/articles/1081494/
#hikaricp #пул_соединений #Spring_Boot #PostgreSQL #connection_pool #JDBC #транзакции #производительность #connection_leak #высоконагруженные_системы
-
If you use HikariCP 7.1, you may omit `setConnectionTestQuery()` from your configuration. HikariCP now uses JDBC4's `Connection.isValid()` behind the scenes to validate connections.
-
If you use HikariCP 7.1, you may omit `setConnectionTestQuery()` from your configuration. HikariCP now uses JDBC4's `Connection.isValid()` behind the scenes to validate connections.
-
If you use HikariCP 7.1, you may omit `setConnectionTestQuery()` from your configuration. HikariCP now uses JDBC4's `Connection.isValid()` behind the scenes to validate connections.
-
Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар
Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional , который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк. Каждое преступление воспроизводится одной командой: демо-проект с Docker, Prometheus и Grafana прилагается. Открыть дело
https://habr.com/ru/articles/1059234/
#springboot #transactional #hikaricp #connectionpool #deadlock #postgresql #транзакции #selfinvocation #opensessioninview #микросервисы
-
Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар
Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional , который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк. Каждое преступление воспроизводится одной командой: демо-проект с Docker, Prometheus и Grafana прилагается. Открыть дело
https://habr.com/ru/articles/1059234/
#springboot #transactional #hikaricp #connectionpool #deadlock #postgresql #транзакции #selfinvocation #opensessioninview #микросервисы
-
Что внутри JDBC: архитектура, объектная модель и Driver/SPI
Когда в проекте используются Spring Data, Hibernate, jOOQ или Slick, доступ к реляционной БД на JVM чаще всего заканчивается JDBC. Разберём архитектуру JDBC: где заканчивается API и начинается драйвер, как Java находит реализацию, какую роль играют DataSource, Connection и пул соединений, а также какие ресурсы удерживаются на каждом этапе. Материал для тех, кому важно понимать не только вызов executeQuery(), но и поведение системы под нагрузкой.
https://habr.com/ru/articles/1058080/
#JDBC #Java #JVM #базы_данных #JDBC_Driver #DataSource #Connection_Pool #HikariCP #PostgreSQL #архитектура_бэкенда
-
Что внутри JDBC: архитектура, объектная модель и Driver/SPI
Когда в проекте используются Spring Data, Hibernate, jOOQ или Slick, доступ к реляционной БД на JVM чаще всего заканчивается JDBC. Разберём архитектуру JDBC: где заканчивается API и начинается драйвер, как Java находит реализацию, какую роль играют DataSource, Connection и пул соединений, а также какие ресурсы удерживаются на каждом этапе. Материал для тех, кому важно понимать не только вызов executeQuery(), но и поведение системы под нагрузкой.
https://habr.com/ru/articles/1058080/
#JDBC #Java #JVM #базы_данных #JDBC_Driver #DataSource #Connection_Pool #HikariCP #PostgreSQL #архитектура_бэкенда
-
HikariCP в проде: пять настроек, которые часто крутят неправильно
В проде connection pool редко падает громко — чаще он тихо превращает сервис в очередь ожидания: запросы висят, база задыхается, Kubernetes начинает перезапускать поды, а в логах всплывает знакомое Connection is not available . В этой статье разбираем пять настроек HikariCP, которые чаще всего крутят «на глаз»: размер пула, minimumIdle, maxLifetime, keepaliveTime и connectionTimeout. Покажем, почему «поставить побольше» почти всегда плохая идея, как таймауты инфраструктуры ломают соединения и какие метрики стоит вывести в Grafana, чтобы увидеть проблему до инцидента.
https://habr.com/ru/companies/otus/articles/1039958/
#HikariCP #JDBC #Spring_Boot #connection_pool #Postgres #пул_соединений #таймауты #production #настройка_сервиса #мониторинг
-
HikariCP в проде: пять настроек, которые часто крутят неправильно
В проде connection pool редко падает громко — чаще он тихо превращает сервис в очередь ожидания: запросы висят, база задыхается, Kubernetes начинает перезапускать поды, а в логах всплывает знакомое Connection is not available . В этой статье разбираем пять настроек HikariCP, которые чаще всего крутят «на глаз»: размер пула, minimumIdle, maxLifetime, keepaliveTime и connectionTimeout. Покажем, почему «поставить побольше» почти всегда плохая идея, как таймауты инфраструктуры ломают соединения и какие метрики стоит вывести в Grafana, чтобы увидеть проблему до инцидента.
https://habr.com/ru/companies/otus/articles/1039958/
#HikariCP #JDBC #Spring_Boot #connection_pool #Postgres #пул_соединений #таймауты #production #настройка_сервиса #мониторинг
-
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
-
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
-
Оптимизируем JDBC connection pool: гайд по HikariCP 2026
HikariCP давно стал де-факто стандартом JDBC connection pooling в JVM-проектах. Но подключить его мало: важно правильно выбрать размер пула, таймауты, maxLifetime, keepaliveTime, leak detection и метрики. Разбираем, как настроить HikariCP для Java, Kotlin, Scala и Spring Boot, какие ошибки чаще всего встречаются в проде и почему maximumPoolSize нельзя просто копировать из соседнего сервиса.
https://habr.com/ru/articles/1030880/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #Java #Kotlin #Scala #пул_соединений #настройка_базы_данных
-
Оптимизируем JDBC connection pool: гайд по HikariCP 2026
HikariCP давно стал де-факто стандартом JDBC connection pooling в JVM-проектах. Но подключить его мало: важно правильно выбрать размер пула, таймауты, maxLifetime, keepaliveTime, leak detection и метрики. Разбираем, как настроить HikariCP для Java, Kotlin, Scala и Spring Boot, какие ошибки чаще всего встречаются в проде и почему maximumPoolSize нельзя просто копировать из соседнего сервиса.
https://habr.com/ru/articles/1030880/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #Java #Kotlin #Scala #пул_соединений #настройка_базы_данных
-
Как ускорить тесты проекта в 6 раз: от 10 минут к 101 секунде
Почти 800 тестов, 10 минут на прогон, каждый пуш — ожидание на CI. Знакомо? Рассказываю, как довёл время до 101 секунды: снижение таймаутов, параллелизм ScalaTest, shared Testcontainers и защита от регрессий. Scala, SBT, PostgreSQL, GraalVM — конкретные шаги и подводные камни.
https://habr.com/ru/articles/1003592/
#scala #scalatest #testcontainers #postgresql #тестирование #оптимизация #параллелизм #sbt #graalvm #hikaricp
-
Как ускорить тесты проекта в 6 раз: от 10 минут к 101 секунде
Почти 800 тестов, 10 минут на прогон, каждый пуш — ожидание на CI. Знакомо? Рассказываю, как довёл время до 101 секунды: снижение таймаутов, параллелизм ScalaTest, shared Testcontainers и защита от регрессий. Scala, SBT, PostgreSQL, GraalVM — конкретные шаги и подводные камни.
https://habr.com/ru/articles/1003592/
#scala #scalatest #testcontainers #postgresql #тестирование #оптимизация #параллелизм #sbt #graalvm #hikaricp
-
Работа с базой данных для джунов и вайбкодеров. Соединения
Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.
https://habr.com/ru/articles/908376/
#базы_данных #коннекты #баги #коннект_к_бд #пул_соединений #hikaricp #hikaripool #pgbouncer
-
Работа с базой данных для джунов и вайбкодеров. Соединения
Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.
https://habr.com/ru/articles/908376/
#базы_данных #коннекты #баги #коннект_к_бд #пул_соединений #hikaricp #hikaripool #pgbouncer
-
Тонкости настройки HikariCP
Всем привет! В данной статье я постараюсь рассказать вам о интересных тонкостях работы с HikariPool . Мы разберем особенности настройки HikariCP для Java-приложений , обсудим потенциальные проблемы, которые могут возникнуть при работе с пулом подключений, и рассмотрим, как эффективно работать с двумя базами данных одновременно.
https://habr.com/ru/articles/839812/
#java #database #oracel #postgresql #коннекты #hikaripool #hikaricp #пулы #пулы_коннектов #несколько_баз_данных
-
Тонкости настройки HikariCP
Всем привет! В данной статье я постараюсь рассказать вам о интересных тонкостях работы с HikariPool . Мы разберем особенности настройки HikariCP для Java-приложений , обсудим потенциальные проблемы, которые могут возникнуть при работе с пулом подключений, и рассмотрим, как эффективно работать с двумя базами данных одновременно.
https://habr.com/ru/articles/839812/
#java #database #oracel #postgresql #коннекты #hikaripool #hikaricp #пулы #пулы_коннектов #несколько_баз_данных
-
Профилирование Java-приложений: от HeapDump до Grafana
Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.
-
Профилирование Java-приложений: от HeapDump до Grafana
Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.
-
And here's another #Grafana dashboard for #HikariCP metrics provided by #OpenTelemetry #JVM instrumentation module.
📊 https://grafana.com/grafana/dashboards/17653-hikaricp-connection-pools-opentelemetry/
-
And here's another #Grafana dashboard for #HikariCP metrics provided by #OpenTelemetry #JVM instrumentation module.
📊 https://grafana.com/grafana/dashboards/17653-hikaricp-connection-pools-opentelemetry/
-
I've released a new version of hikari-cp - 2.12.0. It's a #Clojure wrapper to #HikariCP #JDBC connection pool. Enjoy!
-
I've released a new version of hikari-cp - 2.12.0. It's a #Clojure wrapper to #HikariCP #JDBC connection pool. Enjoy!
-
Wow! hikari-cp -- a wrapper to #HikariCP #JDBC connection pool -- has been downloaded over 264k times!
-
If you are into #Clojure check out hikari-cp - a wrapper to #HikariCP #JDBC connection pool.