> 🌅 Всем продуктивной недели!
Прошлая неделя выдалась жаркой — в хорошем смысле! Приятное напряжение извилин дало результат даже выше ожидаемого.
Напомню контекст: работаю над нагруженным легаси-проектом — выношу из монолита критические узлы в новое API, разгружая БД и UI. Делюсь свежими результатами.
Фокус недели: каталог и фильтры
Витрина — это сердце магазина. То, как она работает, — важный маркер для пользователя. А для разработчика — показатель мастерства.
Что было: При каждом действии посетителя (загрузка страницы, выбор фильтра) система «дёргала» базу данных. В пиковые моменты это замедляло не только сайт, а и внутренние инструменты менеджеров. Не спрашивайте почему была именно такая реализация - легаси всегда загадочные и полны неожиданностей.
Что сделано: Распутал сложный механизм запросов и внедрил решение, которое практически не нагружает БД.
Цифры говорят сами за себя
Каталог: - Было: 0.74 мс - Стало: 0.07 мс Ускорение: в 10,5 раз
Фильтр: - Было: 1.02 мс - Стало: 0.09 мс Ускорение: в 11,3 раза
Самое приятное — не просто цифры, а то, что снята «пиковая» нагрузка с сервера. Теперь активные пользователи не отнимают ресурсы у внутренней системы. Проще говоря: менеджеры перестанут ощущать тормоза в рабочих программах, когда на сайте много посетителей.
Подготовка к будущему
В процессе создал каркас для дальнейшей модернизации БД каталога и фильтров. Это позволит в любой момент быстро и безболезненно начать переход на более современную архитектуру.
Бонус: умный поиск с синонимами
Расширил возможности модуля поиска, создав модель для синонимов. Теперь система понимает не только точные названия, но и альтернативные варианты.
Пример из жизни: Раньше при вводе «енри» не было результатов, а по «ерни» выдавалось всё что угодно, кроме производителя «Ernie Ball». Теперь синонимы помогают пользователю получать желаемое. Это напрямую влияет на конверсию — человек находит товар, а не пустую выдачу.
Что сделано: - Добавлены синонимы для производителей с транслитерацией (русский <—> латиница) в обе стороны - Скорость поиска при первом прогоне чуть ускорилась - При повторных обращениях — сократилась вдвое (с ~0.9 мс до ~0.43 мс) за счёт кеширования
Ускорять дальше без переделки UI нет смысла — основные тормоза сейчас в шаблонах фронта, а не в бэке.
Вот такая выдалась насыщенная неделя. Реализовал задуманное и продвинулся к следующим этапам - шаг за шагом иду к цели.
Занимайтесь проектами и рефакторингом! Это не просто показатель успешности дела, а и отличная зарядка для ума. (;
#AmbrionDev #legacy #api #optimization #refactoring #backend #performance
«А что у вас на этой неделе? Какие оптимизации или рефакторинги запланированы? Делитесь в комментариях! 👇»