170 похожих чатов

Так, я по ходу не совсем понимаю как там алхимия

и базы данных работают. Может кто-нибудь помочь с такой проблемой:
TimeoutError: QueuePool limit of size 20 overflow 10 reached, connection timed out, timeout 30
Коннекты в эндпоинтах создаются так — в глобальный app прокидывается Session(который фабрика сессий) и в самих эндпоинтах Session вызывается и я получаю сессия для эндпоинта, а затем ее уже использую. Я что-то делаю не так или дело в том, что нагрузка такая большая?

14 ответов

22 просмотра

а закрываешь session?

Илья-Власов Автор вопроса
Tishka17
а закрываешь session?

Да, я открываю через контекстный менеджер, через два даже: async with self.request.app['session_pull']() as session: async with session.begin():

Илья Власов
Да, я открываю через контекстный менеджер, через д...

так, асинкио. А в какой момент это вызывается?

Илья-Власов Автор вопроса
Tishka17
так, асинкио. А в какой момент это вызывается?

Внутри эндпоинта, потом я дергаю уже внутреннюю функцию для работой с бд и передаю туда сессию

Илья Власов
Внутри эндпоинта, потом я дергаю уже внутреннюю фу...

а сколько времени занимает обработчик и сколько rps?

Илья Власов
Внутри эндпоинта, потом я дергаю уже внутреннюю фу...

выглядит как будто действительно нагрузка, но нужно больше данных

Илья-Власов Автор вопроса
Tishka17
а сколько времени занимает обработчик и сколько rp...

Ну примерно 10-50мс в зависимости от эндпоинта, рпс где-то 1-2тысячи на реплику

Илья-Власов Автор вопроса
Илья Власов
Ну примерно 10-50мс в зависимости от эндпоинта, рп...

Так блин, я криво посчитал, рпс 200 на реплику, суммарный где-то 1-2 тысячи

Илья-Власов Автор вопроса
Tishka17
что ж ты сразу молчал =)

То есть, все-таки нагрузка?(

Илья Власов
То есть, все-таки нагрузка?(

ну давай посчитаем. 50мс на один запрос. Значит без конкурентности ты можешь обрабатывать 20 запросов. У тебя 2к RPS, значит это дает 100 конкурентных запросов. А у тебя лимит 30 соединений. =)

Илья-Власов Автор вопроса
Tishka17
ну давай посчитаем. 50мс на один запрос. Значит ...

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

Илья Власов
Ну мы в джва раза снизили нагрузку и вроде пропали...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта