Size: a a a

2019 September 28

FD

Fedor Dobrotvorsky in Astana JKUG
Kайржан Турмагамбетов
можно ли выгрузить heapdump и найти это объекты ?
Можно, через MAT, но удобнее включить запись полетов и посмотреть через mission control.
источник

N

Naiman in Astana JKUG
Kайржан Турмагамбетов
пришел к вам еще с одним вопросом. как/чем найти утечку в коннектах к бд?
на проекте используется hikari и процессе работы наблюдается что кол-во активных соединений не падает.
т.е. из пула коннектов они не освобождаются. фактически соединения нет, если смотреть на сервере бд коннекты с этого айпи адреса.
наврядли утечка, скорее всего, запросы оптимизировать нужно, индексы навешивать
https://cube.dev/blog/postgresql-query-optimization/
источник

ТС

Таир Сабыргалиев in Astana JKUG
Kайржан Турмагамбетов
пришел к вам еще с одним вопросом. как/чем найти утечку в коннектах к бд?
на проекте используется hikari и процессе работы наблюдается что кол-во активных соединений не падает.
т.е. из пула коннектов они не освобождаются. фактически соединения нет, если смотреть на сервере бд коннекты с этого айпи адреса.
Как ты понял, что это утечка?
источник

Kайржан Турмагамбетов in Astana JKUG
если отрубить на бд коннекты, они ведь должны отключиться и на беке? разве нет?
источник

N

Naiman in Astana JKUG
Kайржан Турмагамбетов
если отрубить на бд коннекты, они ведь должны отключиться и на беке? разве нет?
пересоздадутся
источник

Kайржан Турмагамбетов in Astana JKUG
Naiman
пересоздадутся
если сервер не будет использоваться. простаивает.
источник

ТС

Таир Сабыргалиев in Astana JKUG
Это твой код с соединениями работает?
источник

Kайржан Турмагамбетов in Astana JKUG
источник

N

Naiman in Astana JKUG
Kайржан Турмагамбетов
если сервер не будет использоваться. простаивает.
если postgres стоит можно установить расширение pg_stat_statements, чтобы смотреть производительность запросов
источник

Kайржан Турмагамбетов in Astana JKUG
Naiman
если postgres стоит можно установить расширение pg_stat_statements, чтобы смотреть производительность запросов
нет проблема не в самих запросах. я же говорю. взять этот сервер отрубить от бд и от клиентов эти соединения из пула не высвобождаются
источник

N

Naiman in Astana JKUG
можно еще посмотреть какими запросами заняты соединения
SELECT query FROM pg_stat_activity

у вас могут быть длинные транзакции, которые забивают коннекты
источник

ТС

Таир Сабыргалиев in Astana JKUG
Kайржан Турмагамбетов
нет проблема не в самих запросах. я же говорю. взять этот сервер отрубить от бд и от клиентов эти соединения из пула не высвобождаются
Не понятно
источник

Kайржан Турмагамбетов in Astana JKUG
Naiman
можно еще посмотреть какими запросами заняты соединения
SELECT query FROM pg_stat_activity

у вас могут быть длинные транзакции, которые забивают коннекты
кол-во на СУБД меньше кол-во занятых активных соединений который указывается в статистике хикари
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Я бы начал с просмотра конфигурации пула и переключения его в режим отладки.
источник

Kайржан Турмагамбетов in Astana JKUG
опишу примерно ситуацию.
приложение работае. обслуживают клиентов с 9 утра до 10 вечера.
у hikari пул коннектов - 50. кол-во занятых (активных) растет.
после 10вечера, сервер простаивает. нету активных запросов на него. так как клиенты не заходят на него.
и с приложения к бд нет запросов.

с 10 вечера до 9утра, из пула hikari должны были высвободиться. но этого не происходит.
источник

Kайржан Турмагамбетов in Astana JKUG
приходится перезапускать приложение.
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Бд постгрес?
источник

Kайржан Турмагамбетов in Astana JKUG
нету ни долгих транзакций, ни каких либо активных запросов на бд
источник

Kайржан Турмагамбетов in Astana JKUG
Fedor Dobrotvorsky
Бд постгрес?
да
источник

ТС

Таир Сабыргалиев in Astana JKUG
Если вопрос в том, есть ли утечка, то просто нужно считать, сколько раз открывали и сравнивать сколько закрывали. Есть инструменты для этого.
источник