---
title: "Почему система «вдруг» стала медленной"
url: "https://kzsaleshub.com/marshrut-algoritmy-i-slozhnost/"
type: "knowledge_article"
category: "Библиотека"
language: "ru"
source: "KZSalesHub"
published: "2026-08-15"
last_updated: "2026-09-30"
---

# Почему система «вдруг» стала медленной

**Коротко.** Отчёт, который два года открывался за секунду, вдруг стал грузиться минуту. Данных прибавилось не в сто раз — всего втрое. Это не поломка: так ведёт себя алгоритм, чья стоимость растёт быстрее объёма. Понимание этой механики отвечает на вопрос, когда «добавить серверов» помогает, а когда деньги уходят впустую.

## Как растёт время: четыре сценария

| Поведение | Что происходит при удвоении данных | Что делать |
| --- | --- | --- |
| Время не меняется | Ничего | Ничего, всё в порядке |
| Время удваивается | Растёт пропорционально объёму | Мощности помогут, это честный путь |
| Время растёт чуть быстрее | Умеренно, но заметно | Обычно приемлемо; следить за трендом |
| Время вырастает вчетверо | Квадратично: перебираются пары записей | Мощности не спасут, нужен другой алгоритм |

Последняя строка — источник большинства историй про «всё легло после роста клиентской базы».

## Маршрут

| Ступень | Что читаем | Что забираем | Срок |
| --- | --- | --- | --- |
| 1. Без формул | «Алгоритмы неформально: инструкция для начинающих питонистов» | Интуиция про сложность и структуры данных | 2 недели |
| 2. Основа | «Алгоритмы и структуры данных» в любом из изданий подборки | Список, дерево, хеш-таблица — и когда что | 4 недели |
| 3. На практике | «Алгоритмы Data Science», «Алгоритмы и структуры данных с примерами на Python» | Как это выглядит в задачах с данными | 3 недели |
| 4. Задачи выбора | «Алгоритмы эволюционной оптимизации», «Основы математического моделирования и оптимизации» | Расписания, маршруты, распределение ресурсов | 4 недели |
| 5. Основание | «Теоретический минимум по Computer Science», «Абстрактная и компьютерная алгебра» | Что вообще вычислимо и за какую цену | по желанию |

## Шесть выводов — своими словами

1. **Выбор структуры данных решает больше, чем выбор языка.** Одна задача на одном железе может считаться секунду и час — разница в том, как хранятся данные.
2. **Индекс в базе — это структура данных.** Поэтому отчёт, который «вдруг» стал медленным, чаще лечится индексом, чем сервером.
3. **Кэш откладывает проблему, а не решает.** Он спасает при повторяющихся запросах и бесполезен при уникальных.
4. **Преждевременная оптимизация дороже медленного кода.** Сначала измерить, где теряется время; интуиция ошибается чаще, чем угадывает.
5. **Задачи выбора часто не имеют точного решения за разумное время.** Расписания и маршруты решаются приближённо — это свойство задачи, а не халтура подрядчика.
6. **Понимание сложности — язык переговоров.** Вопрос «как растёт время при удвоении объёма» переводит спор об оптимизации в измеримое.

## Что спросить у подрядчика

1. Как ведёт себя время отклика при удвоении числа записей — вы это замеряли?
2. Что именно занимает больше всего времени в этом сценарии?
3. Что изменится, если удвоить мощности?
4. Есть ли операции, которые перебирают все записи целиком?

Ответ «не замеряли» на первый вопрос означает, что обсуждать бюджет на оптимизацию рано.

## Частые вопросы

**Нужно ли это, если я не программирую**

Нужно на уровне четырёх сценариев из таблицы. Этого достаточно, чтобы понимать, покупаете вы решение проблемы или её отсрочку.

**Что читать, если время только на одну книгу**

«Алгоритмы неформально»: та же механика без математики, читается за пару вечеров.

**Разве современное железо не решает всё**

Решает при линейном росте. При квадратичном удвоение мощности даёт выигрыш в разы меньше ожидаемого — и это становится видно на второй год роста.

## Связанное

- [Данные как актив](https://kzsaleshub.com/marshrut-dannye-kak-aktiv/)
- [Наблюдаемость](https://kzsaleshub.com/framework/observability-three-pillars/)
- [SLI, SLO и SLA](https://kzsaleshub.com/framework/sli-slo-sla/)

*Книги названы как источники. KZSalesHub не распространяет файлы изданий.*

Если время растёт быстрее объёма данных, серверы не помогут — проблема в алгоритме. Это и есть граница между «докупить мощности» и «переписать».

---
Источник: https://kzsaleshub.com/marshrut-algoritmy-i-slozhnost/
