Добавить
Уведомления

Оптимизация GC Python: Как одна строка кода уменьшила время ответа ML-сервиса в 2 раза

В Сервис для инференса моделей PyTorch демонстрировал нестабильную работу: время обработки идентичных запросов варьировалось от 45 до 200-300 миллисекунд. При этом CPU не был перегружен, утечек памяти не было, дисковая подсистема работала нормально, а стандартные профайлеры (py-spy, cProfile) не выявляли аномалий. Корень проблемы оказался в сборщике мусора (GC), который мог запускаться десятки раз в рамках одного запроса. На примере этого кейса Александр Федосеев, бэкенд-инженер в Авито, рассказывает: ✅как диагностировать проблему с GC, если традиционные профайлеры его не показывают? ✅ каковы методы сбора и интерпретации метрик сборщика мусора? ✅ каковы две оптимизации, которые позволили снизить P99-латентность с 85 мс до 45 мс? ✅ когда эти оптимизации могут навредить и частые ошибки при настройке GC? ✅ и почему версия Python критически важна для конфигурации сборщика мусора? 🚀 Стань инженером в Авито - https://clc.to/HcA9mA AvitoTech — это команда инженеров Авито. Подпишитесь на наш канал, соцсети и блоги, чтобы узнавать больше о технологиях Авито 👇🏻 ВК: https://vk.com/avitotech Телеграм: https://clc.to/-YHGlg Хабр: https://habr.com/ru/company/avito Гитхаб: https://github.com/avito-tech RuTube: https://rutube.ru/channel/30462632/ Дзен: https://dzen.ru/avitotech Сайт: https://clc.to/l5ZqRA

Иконка канала AvitoTech
510 подписчиков
12+
13 просмотров
Месяц назад
1 ноября 2025 г.
12+
13 просмотров
Месяц назад
1 ноября 2025 г.

В Сервис для инференса моделей PyTorch демонстрировал нестабильную работу: время обработки идентичных запросов варьировалось от 45 до 200-300 миллисекунд. При этом CPU не был перегружен, утечек памяти не было, дисковая подсистема работала нормально, а стандартные профайлеры (py-spy, cProfile) не выявляли аномалий. Корень проблемы оказался в сборщике мусора (GC), который мог запускаться десятки раз в рамках одного запроса. На примере этого кейса Александр Федосеев, бэкенд-инженер в Авито, рассказывает: ✅как диагностировать проблему с GC, если традиционные профайлеры его не показывают? ✅ каковы методы сбора и интерпретации метрик сборщика мусора? ✅ каковы две оптимизации, которые позволили снизить P99-латентность с 85 мс до 45 мс? ✅ когда эти оптимизации могут навредить и частые ошибки при настройке GC? ✅ и почему версия Python критически важна для конфигурации сборщика мусора? 🚀 Стань инженером в Авито - https://clc.to/HcA9mA AvitoTech — это команда инженеров Авито. Подпишитесь на наш канал, соцсети и блоги, чтобы узнавать больше о технологиях Авито 👇🏻 ВК: https://vk.com/avitotech Телеграм: https://clc.to/-YHGlg Хабр: https://habr.com/ru/company/avito Гитхаб: https://github.com/avito-tech RuTube: https://rutube.ru/channel/30462632/ Дзен: https://dzen.ru/avitotech Сайт: https://clc.to/l5ZqRA

, чтобы оставлять комментарии