Объяснение утечки памяти для службы Python, выполняющей множество исходящих вызовов с помощью `aiohttp`Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Объяснение утечки памяти для службы Python, выполняющей множество исходящих вызовов с помощью `aiohttp`

Сообщение Anonymous »

У меня возникла проблема с постоянно увеличивающимся объемом памяти в службе на основе Python, использующей задачи сельдерея. Эти задачи выполняют массу исходящих звонков, используя что-то вроде приведенного ниже...

Код: Выделить всё

async with aiohttp.ClientSession() as session:
async with session.request(
method, url, json=data, auth=self.basic_auth, headers=headers
) as resp:
resp.raise_for_status()
return await resp.json()
Я использовал memray для создания профиля памяти моей службы, что предполагает проблему со многими, увеличение выделения памяти с помощью asyncio.sslproto с течением времени — оно увеличивается на несколько МБ в минуту.
Изображение

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

Подробнее здесь: https://stackoverflow.com/questions/793 ... lls-with-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»