Открыто

Производительность и масштабируемость [Devhands] [Алексей Рыбак]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 2 янв 2026.

Основной список: 17 участников

  1. 2 янв 2026
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Производительность и масштабируемость [Devhands] [Алексей Рыбак]

    upload_2026-1-2_15-9-9.png

    Кому подойдет курс?

    Middle/Senior разработчикам
    • Изучите особенности системного дизайна хайлоад-проектов
    • Научитесь масштабировать веб-серверы, приложения, кеши, СУБД
    • Получите уникальную практику тюнинга производительности и управления кластерными системами
    Техлидам и архитекторам
    • Изучите основы управления Linux- инфрой, погрузившись «под капот», поближе к инфраструктуре
    • Выжмете 100K RPS из своих сервисов и освоете искусство планирования мощностей
    • Изучите особенности разработки распределенных систем, шардинг, CAP/PACELC-теоремы
    • Спроектируете проект на 100M DAU
    EM/CTO
    • Систематизируете знания в области разработки больших проектов
    • Переосмыслите архитектурные подходы в более прагматичном, экономичном, инженерном ключе
    • Изучите современные тренды и классификацию компонент, из которых "собираются" хайлоад-проекты
    С какими запросами приходят на курс?
    • Не понимаю, как оценить количество ресурсов
    • Хочу научиться говорить на одном языке с системными аналитиками, devops, другими командами
    • Хочу систематизировать знания в разработке хайлоад-проектов
    • Хочу глубже понимать, как управляется Linux-инфраструктура
    • Хочу научиться планировать нагрузки и считать бюджет
    • Хочу понять, как шардировать классические СУБД, как работают кластерные СУБД
    • Хочу прокачать знания, необходимые для моего карьерного роста
    Ваши цели в обучении
    1. Получить фундамент компетенций архитектора сложных и высоконагруженных информационных систем
    2. Получить навыки управления своей собственной инфраструктурой
    3. Получить навыки нагрузочного тестирования и тюнинга Linux-серверов
    4. Получить навыки масштабирования бекенд-систем в собственном облаке
    5. Получить практику проектирования высоконагруженных систем с архитектурными брейншторм-сессиями, практикой разработки архитектур и разбором ваших решений с подробной обратной связью
    6. Получить практику прохождения и проведения секций системного дизайна на интервью
    Программа:
    • Цели практикума
    • Занятие 1. Управление Linux-сервером
    • Занятие 2. Основы нагрузочного тестирования
    • Занятие 3. Проведение нагрузочного тестирования
    • Занятие 4. Обсуждение результатов нагрузочного тестирования и планирование мощностей
    • Занятие 5. Резервная встреча (сдача "хвостов")
    • Занятие 6. Redis-кластер
    • Занятие 7. Stateless PostgreSQL Query Router (кластер SPQR + PostgreSQL)
    • Занятие 8. Кластер CockroachDB
    Цели практикума

    Практикум можно условно разбить на три части:
    • управление виртуальными машинами Linux
    • нагрузочное тестирование собственного стэка и подходы к планированию мощностей
    • масштабирование СУБД
    Управление виртуальными машинами Linux

    Участники ставят, собирают, конфигурируют свой собственный стэк — мы поддерживаем практически любой стэк (Java, Python, PHP, C#, Golang, node.js; MySQL или PostgreSQL), поскольку вопросы масштабируемости и производительности общеуниверсальны и не зависят от стэка.

    Вы изучите основы администрирования Linux: управление пакетами при помощи пакетного менеджера apt, ручная сборка из исходников и управление ручными сборками, конфигурация и управление systemd-сервисами, мониторинг и базовый анализ производительности с Prometheus и Grafana.

    Мы обсудим основы параллелизма в Linux, модели серверов, почему nginx работает супер-быстро и лучше, чем Apache, почему MySQL имеет лучшую серверную модель, чем PostgreSQL, и как с этим бороться и успешно использовать PostgreSQL в больших проектах. В дополнение к вашему любимому серверу приложений вы будете использовать nginx в качестве балансировщика и обратного прокси, MySQL или PostgreSQL в качестве базы данных и Memcached или Redis в качестве кэш-сервера.

    Нагрузочное тестирование собственного стэка и подходы к планированию мощностей

    Мы изучим основы настройки производительности, тестирования производительности и выжмем максимальную пропускную способность из вашей виртуальной машины. Наш текущий студенческий «рекорд» — 100K «синтетических» RPS с Golang/Fiber на довольно скромной виртуалке.

    Участники построят latency/RPS-диаграммы и сравнят показатели производительности и ограничения компонент вашего стэка. Мы используем wrkx (нашу доработку wrk2), но поскольку у нас настоящая программа R&D, мы будем рады использовать любой инструмент, поддерживающий независимо управляемые клиентские потоки и пул соединений.

    Масштабирование СУБД

    В этом модуле мы изучим (всё будет доступно на вашей собственной инфраструктуре):
    • кластерный Redis
    • кластерная СУБД CockroachDB
    • шардинг-прокси SPQR поверх классического PostgreSQL 17
    Везде изучим, как сделано шардирование, переключение мастера, решардинг и т.д.

    Занятие 1. Управление Linux-сервером

    Знакомство с виртуальной машиной, управление пакетами, сборка open source софта для исследований, работа в screen/tmux, systemd-юниты и управление сервисами, grafana/prometheus/экспортеры.

    Занятие 2. Основы нагрузочного тестирования

    Основы нагрузочного тестирования. Архитектура стрелялки, соединения, треды/воркеры, интенсивность и связь между ними. Coordinated omission. Перцентили. Знакомство с wrkx и подходами к автоматизации (lsmt). Проведение тестов, тюнинг nginx (выжать не менее 100K RPS на статику с одной ноды).

    Занятие 3. Проведение нагрузочного тестирования

    Создание собственного сервиса с динамически конфигурируемой нагрузкой на CPU (для языков с корутинами/горутинами/async-io — с особыми оговорками).

    Занятие 4. Обсуждение результатов нагрузочного тестирования и планирование мощностей

    Проведение нагрузочных тестов, анализ данных мониторинга, построение и анализ latency/throughput-диаграмм (показать диаграмму и рассказать, что она значит). Применение полученных данных в оценках планирования мощностей.

    Занятие 5. Резервная встреча (сдача «хвостов»)

    Резервная встреча для сдачи «хвостов» по практике «с инфрой». Краткое введение в принципы масштабирования приложений, кешей, СУБД. Что мы посмотрим в практикуме по масштабированию СУБД и почему именно это решение.

    Занятие 6. Redis-кластер

    Архитектура, принципы работы и практикум с кластерным Redis.

    Занятие 7. Stateless PostgreSQL Query Router (кластер SPQR + PostgreSQL)

    Архитектура, принципы работы и практикум с прокси-роутером SPQR и PostgreSQL.

    Занятие 8. Кластер CockroachDB

    Архитектура, принципы работы и практикум с кластером CockroachDB.

    Автор курса Алексей Рыбак.
    • CTO с 20-летним опытом высоконагруженных проектов
    • Одним из первых разработчиков Bumble/Badoo, руководил платформенной разработкой, CTO (300 млн пользователей, IPO по оценке $8 млрд)
    • В Badoo прошёл путь от стартап-камикадзе до CTO (300 инженеров) и генерального директора Московского офиса разработки
    • В роли CTO/VP создавал продукты и строил разработку в российских и глобальных компаниях:
      • «Везёт» — второй по размеру такси-агрегатор в России
      • Yum! Brands
      • Fortune 1000 Restaurant Company
    • Член Программного Комитета конференции Highload++
    Цена 80000 руб.
    Скрытая ссылка
     
    1 человеку нравится это.
  2. Последние события

    1. MariaChe
      MariaChe участвует в складчине.
      12 апр 2026 в 18:46
    2. skladchik.com
      Нужен организатор складчины.
      6 апр 2026
    3. Юрец_
      Юрец_ не участвует в складчине.
      23 мар 2026
    4. keks01
      keks01 участвует в складчине.
      21 мар 2026

    Последние важные события

    1. skladchik.com
      Нужен организатор складчины.
      6 апр 2026
    2. skladchik.com
      Назначен организатор складчины.
      18 мар 2026