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

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

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

14 ответов

5 просмотров

а закрываешь 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 какой-нибудь поможет иметь много клиентских соединений и мало реальных с сервером БД

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта