TGViewer
Соло, научи меня | Системный анализ Соло, научи меня | Системный анализ @solo_teach · 395 subscribers
Post #726 69
Ванечка путает задержку и пропускную способность

Ванечка защищал требования к новой системе заказов и уверенно заявил, что система будет быстрая.

- Насколько быстрая? - поднял бровь ПиццаЕдинорог.
- Ну... очень. Почти мгновенно.
- А сколько заказов одновременно вытянет?
- Так она же быстрая!


Единорог посмотрел на него с той особенной жалостью, с которой смотрят на людей, впервые вставших к печи в пятницу вечером.

После встречи Ванечка сидел и не понимал, что он сказал не так. Быстрая значит быстрая, что тут ещё уточнять.

ПиццаЕдинорог позвал его на кухню.

- Вопрос первый: сколько времени проходит от нажатия кнопки заказать до пиццы на столе у клиента?
- Ну... минут двадцать пять.
- Отлично. Вопрос второй: сколько пицц наша кухня выдаёт за час?
- Шестьдесят, если печь не простаивает.
- А теперь скажи, какое из этих чисел означает, что пиццерия быстрая?


Ванечка открыл рот и закрыл.

- Вот. Два разных числа про одну кухню. Двадцать пять минут это задержка, latency, время, за которое один запрос доходит до сервера и возвращается обратно. Меряется в миллисекундах. Шестьдесят пицц в час это пропускная способность, throughput, сколько запросов система переваривает за секунду. Меряется в RPS, запросах в секунду, или TPS, транзакциях в секунду.
- И они не связаны?
- Не так, как ты думаешь. Можно посадить одного гения, который лепит пиццу за восемь минут, но он один, и в пятницу очередь до дверей. Можно поставить двадцать человек, которые копаются по сорок минут каждый. Первое это низкая задержка при слабой пропускной способности, второе наоборот.
- А хочется?
- Хочется низкую задержку и высокую пропускную одновременно, это и есть цель. Но помни главное: у каждого сервера есть предел, как у печи. Она держит X пицц за раз, и всё, что сверху, превращается в тормоза или в сгоревший ужин. Сервера, который просто быстрый, не бывает.


Ванечка вернулся к требованиям и переписал строчку. Вместо системы, которая будет быстрая, там появилось: время ответа до 300 мс, пропускная способность не менее 2000 запросов в секунду.

Единорог впервые за встречу кивнул.
💛💛💛💛💛
Что важно запомнить:
➡️ Задержка (latency) это время обработки одного запроса, в миллисекундах
➡️ Пропускная способность (throughput) это сколько запросов система тянет за секунду, в RPS или TPS
➡️ Числа независимые, слово быстро без указания, какое из них имеется в виду, требованием не является
➡️ У любого сервера есть лимит, сверх него он перегружается или отключается
💛💛💛💛💛
‼️РАЗБОР

Latency и RTT:
RTT (Round Trip Time) это полное время от отправки запроса до получения ответа. Часто RTT используют как синоним задержки, на собеседовании это допустимо, но помните, что RTT это именно путь туда-обратно.

Четыре состояния системы:
⚪️Низкая задержка и высокая пропускная - идеал, к нему проектируем
⚪️Низкая задержка и низкая пропускная - работает шустро, падает на пике
⚪️Высокая задержка и высокая пропускная - держит толпу, но каждый ждёт
⚪️Высокая задержка и низкая пропускная - здесь мы обычно и начинаем

Аналогия:
🔸Задержка это время проезда одной машины из точки А в точку Б, 10 минут.
🔸Пропускная способность это сколько машин проходит по шоссе за час, 1000 машин.

Как формулировать в требованиях:
❌ Система должна работать быстро
✔️ 95% запросов обрабатываются не дольше 300 мс при нагрузке 2000 RPS

Вторую формулировку можно проверить нагрузочным тестом, первую на груминге вы не защитите.

💛 А у вас в ТЗ нефункциональные требования стоят в цифрах, или там тоже живёт система должна быть быстрой и удобной?

#ВанечкаИЕдинорог #СистемныйАнализ #SystemDesign #Требования #Обучение
  • ❤ 3
  • 👏 3
  • 👌 3
  • 🔥 1
More from @solo_teach
  1. Sep 18, 2026🙂🙂🙂🙂, или что за чем происходит🤩 На созвонах в IT это слово звучит постоянно: давай р…
  2. Sep 18, 2026📖 Ванечка выбирает, как масштабировать В понедельник у ПиццаЕдинорога лёг сайт заказов🤪…
  3. Sep 17, 2026💛Ссылка на Вебинар, старт в 19:00
  4. Sep 17, 2026Post #728
  5. Sep 17, 2026😳 17.09 в 19:00 практикум: заменит ли ИИ системного аналитика? Разберём на примерах: что…
  6. Sep 15, 2026Однажды я крепко накосячил дома. Не буду расписывать, что именно натворил 😐 Скажу так: бы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →