Ускорить и подтвердить результат
Оптимизация начинается с метрики и условий измерения. Изменение считается полезным, когда его эффект воспроизводится, а поведение остаётся правильным.
Постановка
Сократить время поиска по каталогу на согласованном наборе запросов. Состав и порядок результатов должны сохраниться.
До запуска определите, какую метрику измеряете, на каких данных и какое улучшение считается достаточным. Конкретное числовое требование зависит от проекта.
Схема процесса
Это схема для адаптации. Она не является готовым импортируемым маршрутом или обещанием конкретного ускорения.
Условия сравнения
Зафиксируйте:
- одинаковый набор данных и запросов;
- характеристики окружения и сопутствующую нагрузку;
- правила прогрева и работу кэшей;
- число повторов и способ свести результаты;
- независимую проверку корректности выдачи.
Один быстрый ответ после изменения не объясняет устойчивость результата.
Что оставляет каждый этап
| Этап | Результат |
|---|---|
| Исходный замер | Метрика, условия, команды и результаты серии запусков. |
| Исследование | Подтверждённое узкое место и план изменения. |
| Согласование | Принятые критерии улучшения и ограничения. |
| Реализация | Изменение с сохранённой возможностью сравнения. |
| Проверка | Измерения после изменения и сравнение корректности. |
| Приёмка | Решение по заранее согласованным критериям. |
Какие команды нужны
Профиль должен объявлять команды измерения и проверки. Подготовку данных и проверку готовности окружения тоже нужно сделать повторяемыми. Машинное сравнение удобно выполнять командным этапом, а интерпретацию профиля — поручать агенту.
Если обязательное измерение недоступно, процесс должен остановиться и объяснить причину. Отчёт не должен подменять отсутствующий замер предположением.
Возврат на доработку
Примеры конкретных замечаний:
- «Сравни одинаковые запросы после одинакового прогрева».
- «Проверь редкий запрос с пустой выдачей».
- «Приложи проверку сохранения порядка результатов».
После изменения повторяются измерение и проверки, зависящие от этой правки.
Далее: подготовить команды проекта и создать маршрут.