оперативки сервера занято 400 мб из 2 гигов. Запросы к бд все асинхронные.
Из-за чего угодно, слишком мало вводных
1) Из-за скорости интернета как минимум, обычно в этом проблема 2) Наплыв людей которые постоянно пользуются ботом
Вторая причина прямо 5
Я слышал у баз данных есть какой-то лимит, может дело в этом? База данных работает в докере, бот тоже . Потыкал бота, выяснил что наиболее долгое зависание происходит там - где много запросов к бд . Скрином прикремпил свой класс базы данной, и примерно "как я делаю запросы к бд" Мне почему-то кажеться проблема с бд. Ибо сильнее всего зависает бот, в той часте функционала бота. Где происходит несколько запросов.
(Мой 2 акк, с компа написал)
Я понял, то есть нужно переделывать запросы к бд? Где можно про это почитать, как правильно должны быть оформленны запросы. Офф дока asyncpg?
Посмотри сколько по умолчанию размер пула у asyncpg, прикинь сколько у тебя одновременно запросов было от пользователей. Возможно тебе просто нужно увеличить пул. Возможно ты некорректно работаешь с пулом и не возвращаешь соединения.
Разве не нужно их pool'а получать соединение, а потом его возвращать?
Спасибо, скорей всего проблема в "возвращении пула" Буду разбираться
https://github.com/Tishka17/tgbot_template/blob/master/tgbot/middlewares/db.py Вот у Тишки в темплейте есть пример получения соединения и возвращения в миддльвари
Обсуждают сегодня