Size: a a a

Golang Developers — русскоговорящее сообщество

2021 April 09

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
хотите дам крутую статью где расписывают почему для пг много соездение = боль?
даже если они просто idle
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
я хочу )
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
про крутые статьи можно даже не спрашивать а сразу кидать )
источник

A

Alexander in Golang Developers — русскоговорящее сообщество
Да там и статьи не нужно. Достаточно сказать, что постгрес создает по процессу на каждое соединение с ним.
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
и это все равно не ответ) почему тогда «холостые» процессы тоже так сильно влияют на перформанс?
источник

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
У нас на проде уже перевалило за 300к пользователей. Когда мы выпускаем обновление или новую фитчу или дарим людям бабки, то все овер 300к пользователей щемятся на сервер. Что происходит когда заходит 1 пользователь: Сервер возвращает ему его баланс и т.д. Достается это из бд (select id ... from users where uuid = ?). Получается у нас если за одну секунду из 300 пользователей зашло 10к, то это 10к соединений?
источник

A

Alexander in Golang Developers — русскоговорящее сообщество
Потому что процесс-то все равно создается :)
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/


видел где-то даже PR 2019 года где чувак предлогал это «сделать получше» — но хз что с ним
источник

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
+
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
вы не пробовали редис подключить? или я уже спрашивал?
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
и что? создали процесс 1 раз и он висит
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
я больше чем уверен что можно базу очень сильно разгрузить благодаря снятию простых запросов
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
все запросы которые по айди достаются можно спокойно кешировать
источник

A

Alexander in Golang Developers — русскоговорящее сообщество
Не просто висит, а потребляет память.
источник

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
Спрашивали. Мы не можем позволить использовать кеш.
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
почему?
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
просто посмотрите сколько айдл процессы юзают памяти, просумируйте и поймете что для хорошего сервера под бд — это ничто
источник

A

Alexander in Golang Developers — русскоговорящее сообщество
Ок, уже глянул статью. Хорошая :)
источник

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
Потому что данные которые пользователь получает при входе динамические. Если он где-то вне нашего сервиса произвел транзакцию, то мы не можем ему вернуть из кеша старый баланс.
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
нет, это не 10к соединений к бд
а все так же кол-во в вашем пуле
источник