home.social

#hikaricp — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #hikaricp, aggregated by home.social.

fetched live
  1. 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, названия, точные объёмы и часть деталей изменены. Порядок величин, конфиги и сами инциденты — настоящие.

    habr.com/ru/articles/1081494/

    #hikaricp #пул_соединений #Spring_Boot #PostgreSQL #connection_pool #JDBC #транзакции #производительность #connection_leak #высоконагруженные_системы

  2. 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, названия, точные объёмы и часть деталей изменены. Порядок величин, конфиги и сами инциденты — настоящие.

    habr.com/ru/articles/1081494/

    #hikaricp #пул_соединений #Spring_Boot #PostgreSQL #connection_pool #JDBC #транзакции #производительность #connection_leak #высоконагруженные_системы

  3. 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.

    medium.com/@slow_tech/hikaricp

    #java #jdbc #database #hikaricp #sql

  4. 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.

    medium.com/@slow_tech/hikaricp

    #java #jdbc #database #hikaricp #sql

  5. 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.

    medium.com/@slow_tech/hikaricp

    #java #jdbc #database #hikaricp #sql

  6. Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар

    Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional , который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк. Каждое преступление воспроизводится одной командой: демо-проект с Docker, Prometheus и Grafana прилагается. Открыть дело

    habr.com/ru/articles/1059234/

    #springboot #transactional #hikaricp #connectionpool #deadlock #postgresql #транзакции #selfinvocation #opensessioninview #микросервисы

  7. Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар

    Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional , который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк. Каждое преступление воспроизводится одной командой: демо-проект с Docker, Prometheus и Grafana прилагается. Открыть дело

    habr.com/ru/articles/1059234/

    #springboot #transactional #hikaricp #connectionpool #deadlock #postgresql #транзакции #selfinvocation #opensessioninview #микросервисы

  8. Что внутри JDBC: архитектура, объектная модель и Driver/SPI

    Когда в проекте используются Spring Data, Hibernate, jOOQ или Slick, доступ к реляционной БД на JVM чаще всего заканчивается JDBC. Разберём архитектуру JDBC: где заканчивается API и начинается драйвер, как Java находит реализацию, какую роль играют DataSource, Connection и пул соединений, а также какие ресурсы удерживаются на каждом этапе. Материал для тех, кому важно понимать не только вызов executeQuery(), но и поведение системы под нагрузкой.

    habr.com/ru/articles/1058080/

    #JDBC #Java #JVM #базы_данных #JDBC_Driver #DataSource #Connection_Pool #HikariCP #PostgreSQL #архитектура_бэкенда

  9. Что внутри JDBC: архитектура, объектная модель и Driver/SPI

    Когда в проекте используются Spring Data, Hibernate, jOOQ или Slick, доступ к реляционной БД на JVM чаще всего заканчивается JDBC. Разберём архитектуру JDBC: где заканчивается API и начинается драйвер, как Java находит реализацию, какую роль играют DataSource, Connection и пул соединений, а также какие ресурсы удерживаются на каждом этапе. Материал для тех, кому важно понимать не только вызов executeQuery(), но и поведение системы под нагрузкой.

    habr.com/ru/articles/1058080/

    #JDBC #Java #JVM #базы_данных #JDBC_Driver #DataSource #Connection_Pool #HikariCP #PostgreSQL #архитектура_бэкенда

  10. HikariCP в проде: пять настроек, которые часто крутят неправильно

    В проде connection pool редко падает громко — чаще он тихо превращает сервис в очередь ожидания: запросы висят, база задыхается, Kubernetes начинает перезапускать поды, а в логах всплывает знакомое Connection is not available . В этой статье разбираем пять настроек HikariCP, которые чаще всего крутят «на глаз»: размер пула, minimumIdle, maxLifetime, keepaliveTime и connectionTimeout. Покажем, почему «поставить побольше» почти всегда плохая идея, как таймауты инфраструктуры ломают соединения и какие метрики стоит вывести в Grafana, чтобы увидеть проблему до инцидента.

    habr.com/ru/companies/otus/art

    #HikariCP #JDBC #Spring_Boot #connection_pool #Postgres #пул_соединений #таймауты #production #настройка_сервиса #мониторинг

  11. HikariCP в проде: пять настроек, которые часто крутят неправильно

    В проде connection pool редко падает громко — чаще он тихо превращает сервис в очередь ожидания: запросы висят, база задыхается, Kubernetes начинает перезапускать поды, а в логах всплывает знакомое Connection is not available . В этой статье разбираем пять настроек HikariCP, которые чаще всего крутят «на глаз»: размер пула, minimumIdle, maxLifetime, keepaliveTime и connectionTimeout. Покажем, почему «поставить побольше» почти всегда плохая идея, как таймауты инфраструктуры ломают соединения и какие метрики стоит вывести в Grafana, чтобы увидеть проблему до инцидента.

    habr.com/ru/companies/otus/art

    #HikariCP #JDBC #Spring_Boot #connection_pool #Postgres #пул_соединений #таймауты #production #настройка_сервиса #мониторинг

  12. Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки

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

    habr.com/ru/articles/1031770/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений

  13. Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки

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

    habr.com/ru/articles/1031770/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений

  14. Оптимизируем JDBC connection pool: гайд по HikariCP 2026

    HikariCP давно стал де-факто стандартом JDBC connection pooling в JVM-проектах. Но подключить его мало: важно правильно выбрать размер пула, таймауты, maxLifetime, keepaliveTime, leak detection и метрики. Разбираем, как настроить HikariCP для Java, Kotlin, Scala и Spring Boot, какие ошибки чаще всего встречаются в проде и почему maximumPoolSize нельзя просто копировать из соседнего сервиса.

    habr.com/ru/articles/1030880/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #Java #Kotlin #Scala #пул_соединений #настройка_базы_данных

  15. Оптимизируем JDBC connection pool: гайд по HikariCP 2026

    HikariCP давно стал де-факто стандартом JDBC connection pooling в JVM-проектах. Но подключить его мало: важно правильно выбрать размер пула, таймауты, maxLifetime, keepaliveTime, leak detection и метрики. Разбираем, как настроить HikariCP для Java, Kotlin, Scala и Spring Boot, какие ошибки чаще всего встречаются в проде и почему maximumPoolSize нельзя просто копировать из соседнего сервиса.

    habr.com/ru/articles/1030880/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #Java #Kotlin #Scala #пул_соединений #настройка_базы_данных

  16. Как ускорить тесты проекта в 6 раз: от 10 минут к 101 секунде

    Почти 800 тестов, 10 минут на прогон, каждый пуш — ожидание на CI. Знакомо? Рассказываю, как довёл время до 101 секунды: снижение таймаутов, параллелизм ScalaTest, shared Testcontainers и защита от регрессий. Scala, SBT, PostgreSQL, GraalVM — конкретные шаги и подводные камни.

    habr.com/ru/articles/1003592/

    #scala #scalatest #testcontainers #postgresql #тестирование #оптимизация #параллелизм #sbt #graalvm #hikaricp

  17. Как ускорить тесты проекта в 6 раз: от 10 минут к 101 секунде

    Почти 800 тестов, 10 минут на прогон, каждый пуш — ожидание на CI. Знакомо? Рассказываю, как довёл время до 101 секунды: снижение таймаутов, параллелизм ScalaTest, shared Testcontainers и защита от регрессий. Scala, SBT, PostgreSQL, GraalVM — конкретные шаги и подводные камни.

    habr.com/ru/articles/1003592/

    #scala #scalatest #testcontainers #postgresql #тестирование #оптимизация #параллелизм #sbt #graalvm #hikaricp

  18. Работа с базой данных для джунов и вайбкодеров. Соединения

    Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.

    habr.com/ru/articles/908376/

    #базы_данных #коннекты #баги #коннект_к_бд #пул_соединений #hikaricp #hikaripool #pgbouncer

  19. Работа с базой данных для джунов и вайбкодеров. Соединения

    Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.

    habr.com/ru/articles/908376/

    #базы_данных #коннекты #баги #коннект_к_бд #пул_соединений #hikaricp #hikaripool #pgbouncer

  20. Тонкости настройки HikariCP

    Всем привет! В данной статье я постараюсь рассказать вам о интересных тонкостях работы с HikariPool . Мы разберем особенности настройки HikariCP для Java-приложений , обсудим потенциальные проблемы, которые могут возникнуть при работе с пулом подключений, и рассмотрим, как эффективно работать с двумя базами данных одновременно.

    habr.com/ru/articles/839812/

    #java #database #oracel #postgresql #коннекты #hikaripool #hikaricp #пулы #пулы_коннектов #несколько_баз_данных

  21. Тонкости настройки HikariCP

    Всем привет! В данной статье я постараюсь рассказать вам о интересных тонкостях работы с HikariPool . Мы разберем особенности настройки HikariCP для Java-приложений , обсудим потенциальные проблемы, которые могут возникнуть при работе с пулом подключений, и рассмотрим, как эффективно работать с двумя базами данных одновременно.

    habr.com/ru/articles/839812/

    #java #database #oracel #postgresql #коннекты #hikaripool #hikaricp #пулы #пулы_коннектов #несколько_баз_данных

  22. Профилирование Java-приложений: от HeapDump до Grafana

    Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.

    habr.com/ru/articles/837834/

    #heapdump #threaddump #grafana #hikaricp #visualvm

  23. Профилирование Java-приложений: от HeapDump до Grafana

    Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.

    habr.com/ru/articles/837834/

    #heapdump #threaddump #grafana #hikaricp #visualvm

  24. Released hikari-cp 3.0.1: a #Clojure wrapper to #HikariCP - "zero-overhead" production ready #JDBC connection pool.

    It fixes datasource class names for #MariaDB and #SQLite.

    github.com/tomekw/hikari-cp

  25. Released hikari-cp 3.0.1: a #Clojure wrapper to #HikariCP - "zero-overhead" production ready #JDBC connection pool.

    It fixes datasource class names for #MariaDB and #SQLite.

    github.com/tomekw/hikari-cp

  26. Released hikari-cp 3.0.1: a #Clojure wrapper to #HikariCP - "zero-overhead" production ready #JDBC connection pool.

    It fixes datasource class names for #MariaDB and #SQLite.

    github.com/tomekw/hikari-cp

  27. Released hikari-cp 3.0.1: a #Clojure wrapper to #HikariCP - "zero-overhead" production ready #JDBC connection pool.

    It fixes datasource class names for #MariaDB and #SQLite.

    github.com/tomekw/hikari-cp

  28. I've released a new version (2.11.0) of hikari-cp: a #Clojure wrapper to #HikariCP #JDBC connection pool.

    Also, I'm thrilled it passed over 1M download on Clojars! THANK YOU!

    clojars.org/hikari-cp

  29. I've released a new version (2.11.0) of hikari-cp: a #Clojure wrapper to #HikariCP #JDBC connection pool.

    Also, I'm thrilled it passed over 1M download on Clojars! THANK YOU!

    clojars.org/hikari-cp