Я работаю техлидом в команде System, которая отвечает за производительность и стабильность сервиса. С марта по ноябрь 2020 года Miro вырос в семь раз — до 600+ тысяч уникальных пользователей за сутки. Сейчас наш монолит работает на 350 серверах, около 150 инстансов мы используем для хранения данных пользователей. Чем больше пользователей взаимодействует с сервисом, тем больше внимания требуют поиск и устранение узких мест на серверах. Расскажу, как мы решили эту задачу. Read more
Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов.Для асинхронного python-кода существует конечное количество специфических "узких мест", которые лучше перечислить заранее. Читать далее
Профилирование часто недооценивают как постоянный процесс, считая его чем вроде финальной фазы перед релизом, вроде полировки или поиска багов и в целом это, конечно, напоминает поиск багов, но это не просто поиск узких мест в коде и их фикс здесь и сейчас, а часто отдельная…
Хороший перебор — это отсутствие перебора. Рассмотрим пример замены полного перебора запросом. В свое время, года 3 назад, возникла необходимость оптимизации конфигурации 1С и устранения ее узких мест в одной компании. Одним из таких узких мест оказался, казалось бы, безобидный,