Обработка 1 миллиона запросов в секунду: это страшнее, чем кажется!
Chapters

Let’s Handle 1 Million Requests per Second, It’s Scarier Than You Think!

Cododev
2:39:18
Feb 5, 2026
265.0K views
14.1K
Show description

Let's see what it's like to handle 1 million HTTP requests per second! In this video, we will set up a powerful infrastructure on AWS and handle more than a million requests per second. We will deal with Node.js, C++, PostgreSQL and Redis. Understanding Node.js Core Concepts Course: https://www.cododev.ca/uncc ------------------------------- SOURCE CODES: ------------------------------- Node.js Source Code: https://github.com/agile8118/node-1m-rps C++ Source Code: https://github.com/agile8118/cpp-1m-rps Tester Source Code: https://github.com/agile8118/1m-rps-tester ------------------------------- CHAPTERS: ------------------------------- Introduction 00:00 CPU Utilization & Threads 8:23 Getting Started 16:32 More on AutoCannon 20:30 Utilizing More CPU with Clustering 24:01 Moving to AWS 34:24 Adding a Storage-Based Database 1:01:50 Speeding Up with a Memory-Based Database 1:24:10 Redis Cluster Mode 1:36:18 C++ with Drogon and RapidJSON 1:51:52 The Final Colossal Tests 2:09:01 Outro 2:35:18 ------------------------------- LINKS: ------------------------------- AutoCannon: https://www.npmjs.com/package/autocannon Fastify: https://www.npmjs.com/package/fastify Cpeak: https://www.npmjs.com/package/cpeak AWS IAM 10th Anniversary: https://aws.amazon.com/blogs/apn/iam-10th-anniversary-top-recommendations-for-working-with-iam-from-our-aws-heroes-part-1/ AWS EC2 Price Calculator: https://calculator.aws/#/createCalculator/ec2-enhancement AWS RDS Price Calculator: https://calculator.aws/#/createCalculator/RDSPostgreSQL AWS Load Balancer LCU Calculator: https://exampleloadbalancer.com/ondemand_capacity_reservation_calculator.html www.cododev.ca ------------------------------- PVCFVTSY1BWZE4HP

Have questions about this video?

Sign up to chat with AI and get deeper insights.

Sign up — 5 free credits
Обработка HTTP-запросов
Проблемы масштабируемости
Производительность баз данных
Фреймворки Node.js против C++
Облачная инфраструктура (AWS)
Нагрузочное тестирование с помощью autocannon
Хранение данных в памяти с помощью Redis
TL;DR

В этом видео ведущий симулирует обработку более 1 миллиона HTTP-запросов в секунду, исследуя проблемы и стратегии, связанные с достижением такой высокой масштабируемости, с использованием различных технологий, включая C++, Redis и AWS.

9
Watch Score

Глубокое освещение сложных тем и примеры из реальной практики предоставляют значительную ценность для целевой аудитории.

1/10
Clickbait
positive
Sentiment
Should watch

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

Can skip

Начинающие или те, кто ищет базовые учебники по программированию на вводные темы.

Quality (9/10)

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

Summary
В видео ведущий представляет амбициозную цель обработки более миллиона HTTP-запросов в секунду, проводя параллели с требованиями масштабируемости, с которыми сталкиваются крупные технологические компании, такие как Uber, Netflix, Apple и Google. На протяжении видео ведущий обсуждает технические требования и ошибки, которые могут привести к дорогостоящим неудачам в условиях высокой ставки. Ведущий подчеркивает важность понимания алгоритмов и инженерных практик, необходимых для таких операций, упоминая, что даже незначительная ошибка может иметь значительные финансовые последствия. Изучаются различные технологии, включая SQL для управления базами данных, Unix для операционных систем и многопоточность для максимизации использования ЦП. Ведущий объясняет полезность таких инструментов, как autocannon, для имитации нагрузки запросов и предоставляет практические демонстрации того, как настраивать серверы на AWS. Важность использования эффективных фреймворков подчеркивается через сравнение кода Node.js, Python и C++, выявляя потенциальные узкие места в производительности. По мере продвижения видео становится очевидно, что обработка объемных запросов требует внимательных архитектурных решений, таких как использование Redis для управления данными в памяти вместо традиционных баз данных, которые показали себя ограничивающим фактором из-за медленных возможностей ввода/вывода. В конечном итоге ведущий делится инсайтами, полученными из обширного тестирования, учась на неудачах и итерационно уточняя свой подход, чтобы достичь цели в миллион запросов в секунду. В последних сегментах ведущий размышляет о затратах, понесенных в процессе экспериментов, делясь метриками о количестве обработанных данных и финансовыми последствиями выполнения тестов на таком масштабе. Заключение повторяет сложность и креативность, необходимые в программной инженерии для проектирования систем, способных на такую экстремальную производительность, подводя итог потенциальным вызовам и возможностям обучения, представленным в течение всего видео.
Key Takeaways
  • Понимание алгоритмов имеет решающее значение в условиях высокой ставки.
  • Незначительные ошибки в коде могут привести к значительным финансовым потерям.
  • Использование баз данных в памяти, таких как Redis, может значительно улучшить производительность.
  • Эффективные кодировочные фреймворки необходимы для обработки экстремальных нагрузок запросов.
  • Тестирование под имитированными нагрузками необходимо для понимания пределов системы.
  • AWS предлагает мощную инфраструктуру для масштабирования приложений.
  • Многопоточность и использование ЦП критически важны для максимизации производительности.
Action Items
  • 1Экспериментируйте с настройкой нагрузочных тестов, используя autocannon.
  • 2Изучите различные решения для баз данных, чтобы выявить узкие места в производительности.
  • 3Реализуйте Redis для хранения данных в памяти.
  • 4Усовершенствуйте код и алгоритмы для повышения эффективности в условиях высокой нагрузки.
Prerequisites
  • Базовое понимание принципов программной инженерии.
  • Знакомство с бэкенд-разработкой и HTTP-запросами.
  • Знание облачных вычислений и управления серверами.
Mentioned Resources
AWS(website)

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

Redis(tool)

Используется для иллюстрации обработки данных в памяти.

Drogon(framework)

C++ веб-фреймворк, упомянутый для высокоэффективной обработки.

Cpeak(framework)

Легковесный фреймворк, разработанный в видео для обработки запросов.

Autocannon(tool)

Инструмент, используемый для нагрузочного тестирования серверов при высоком трафике.

Content Analysis
Type

tutorial

Sentiment

positive

Difficulty

intermediate

Complexity

technical

Target Audience

Разработчики программного обеспечения и инженеры, интересующиеся масштабируемостью и высокопроизводительными приложениями.

#масштабируемость#бэкенд#облачные вычисления#нагрузочное тестирование#Redis#C++#программная инженерия#оптимизация производительности#AWS