build with maksym.
EN / UA
Отправить бриф ↗
SOLVVE / Skillsline · Jan 2023 - May 2024

Skillsline: Оптимизация запроса к базе, 12,41 до 2,451 с

Цикл из множества запросов стал одним агрегирующим запросом. Время сократилось с 12,41 до 2,451 секунды, нагрузка CPU с 82,2% до 2,75%.

Контекст проекта

Backend- и frontend-работа над учебной платформой с интеграциями партнёрских сервисов, с фокусом на производительности базы данных и приложения.

Мой технический вклад

  • Заменил цикл со множеством запросов к базе одним агрегирующим запросом: время сократилось с 12,41 до 2,451 секунды, а потребление памяти уменьшилось на 1,5 ГБ.
  • Снизил среднюю недельную нагрузку CPU с 82,2% до 2,75% и обнаружил отсутствующие поисковые индексы.
  • Сократил среднее время критической операции с 23 937 мс до 48 мс, а размер ответа API — с 912 КБ до 2,1 КБ.

Результаты и их границы

Точечные изменения запросов, получения данных и узких мест приложения дали измеримый результат. Каждая цифра относится к конкретной операции или показателю, а не к ускорению всей платформы.

Операция с базой данных
12.41 → 2.451 s
Средняя недельная нагрузка CPU
82.2% → 2.75%
Размер ответа API
912 → 2.1 KB

Это моя часть работы команды, замеренная в том проекте. Ваша отправная точка будет другой, и я измеряю её до того, как что-то менять.

Использованные технологии

  • Strapi
  • Vue.js
  • MySQL
  • Node.js
  • Laravel
  • AWS
  • REST API
  • Linux

Посмотреть связанную услугу

Практические материалы

MySQL slow log: что читать перед рефакторингом

Медленные отчёты в CRM и SaaS: сначала индексы и очереди

Давайте работать вместе

Есть идея?

Новый замысел, существующий проект или вопрос. Обсудим.

Отправить бриф
Есть идея или проблема, которую надо разобрать? Пишите или звоните — разберёмся.