Size: a a a

Rust — русскоговорящее сообществo

2020 October 08

Э

Эрик in Rust — русскоговорящее сообществo
вафель 🧇
Вроде то что нужно, спасибо!

Мне бы ещё no_std, но это и потом можно исправить
no_std всегда больно, особенно без аллокатора.
источник

J

JvK in Rust — русскоговорящее сообществo
в nostd даже strip самому делать часто надо. вон в ArrayString нету например
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Эрик
no_std всегда больно, особенно без аллокатора.
Итераторы мои друзья
источник

Э

Эрик in Rust — русскоговорящее сообществo
вафель 🧇
Итераторы мои друзья
Не всегда на голых итераторах и слайсах можно выехать.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Эрик
Не всегда на голых итераторах и слайсах можно выехать.
В данном случае вроде должно получится ¯\_(ツ)_/¯
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
источник

V

Vetro in Rust — русскоговорящее сообществo
При бенчмарке эндпоинта, который общается с базой

(фрейм actix-web)

после определенного количества запросов перестают приходить ответы из бд

пул: deadpool-postgres
драйвер: tokio-postgres

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

Последние сообщения в логах -
executing statement $n with parameters: [...]
источник

K

Kitsu in Rust — русскоговорящее сообществo
Vetro
При бенчмарке эндпоинта, который общается с базой

(фрейм actix-web)

после определенного количества запросов перестают приходить ответы из бд

пул: deadpool-postgres
драйвер: tokio-postgres

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

Последние сообщения в логах -
executing statement $n with parameters: [...]
а коннекты из пула возвращаются обратно?
источник

V

Vetro in Rust — русскоговорящее сообществo
Kitsu
а коннекты из пула возвращаются обратно?
Вот не уверен, как посмотреть?
источник

V

Vetro in Rust — русскоговорящее сообществo
Вообще может быть проблема в том, что в какие-то методы я передаю реф на сам пул, а в какие-то реф именно на соединение

Может ли быть такое, что в какой-то футуре допустим залочились все соединения?
источник

K

Kitsu in Rust — русскоговорящее сообществo
нужно растовый код смотреть, просто убедится что хэндлеры (или что там в дедпуле) в какой-то момент дропаются
можешь обернуть их в гварды, а в дропе какой-нибудь принт
источник

V

Vetro in Rust — русскоговорящее сообществo
И вообще как лучше делать -
передавать в методы сам пул и внутри уже получать соединение?
источник

V

Vetro in Rust — русскоговорящее сообществo
Vetro
И вообще как лучше делать -
передавать в методы сам пул и внутри уже получать соединение?
просто у меня там аггрегация нескольких сущностей под одним методом

и я думал, что лучше будет в этот метод передавать пул

а затем уже для получения каждой сущности давать им соединение
источник

K

Kitsu in Rust — русскоговорящее сообществo
Vetro
Вообще может быть проблема в том, что в какие-то методы я передаю реф на сам пул, а в какие-то реф именно на соединение

Может ли быть такое, что в какой-то футуре допустим залочились все соединения?
сам пул скорее всего можно передавать как угодно (реф/клоны)
а вот коннекты нужно почти всегда брать из пула
источник

V

Vetro in Rust — русскоговорящее сообществo
ну они и так оттуда берутся, так что хз

ладно, сейчас буду смотреть

( причем если сделать количество соединений поменьше на wrk - все ок )
источник

K

Kitsu in Rust — русскоговорящее сообществo
можешь кстати в самом постгресе посмотреть, не висят ли какие-то транзакции незакрытыми
источник

V

Vetro in Rust — русскоговорящее сообществo
Kitsu
можешь кстати в самом постгресе посмотреть, не висят ли какие-то транзакции незакрытыми
чекнул, в момент когда перестают приходить ответы - висит просто какое-то количество соединений - и все idle
источник

V

Vetro in Rust — русскоговорящее сообществo
причем даже

CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD TEMP;
DISCARD SEQUENCES;


не помогло
источник

K

Kitsu in Rust — русскоговорящее сообществo
Vetro
чекнул, в момент когда перестают приходить ответы - висит просто какое-то количество соединений - и все idle
коннекты и будут висеть, у тебя же пул
источник

V

Vetro in Rust — русскоговорящее сообществo
ну да, вопрос в том почему idle

в то время как они должны выполнять запрос))
источник