Запись

[Thinknetica] Параллелизм и многопоточность в Ruby и Rails. Тариф Слушатель (Денис Савицкий)

Тема в разделе "Курсы по программированию"

Цена:
5900 руб
Взнос:
257 руб
Организатор:
Организатор

Список участников складчины:

1. Организатор
open
2
Записаться
  1. Организатор Организатор складчин

    [Thinknetica] Параллелизм и многопоточность в Ruby и Rails. Тариф Слушатель (Денис Савицкий)

    [​IMG]

    Этот воркшоп для вас если:
    • Ваше приложение не справляется с нагрузкой и начинает медленно обрабатывать запросы по мере увеличения числа пользователей
    • Ваше приложение часто выполняет задачи в фоновом режиме, такие как отправка писем или генерация отчетов
    • Вы работаете с большими объемами данных и сталкиваетесь с продолжительным временем обработки
    • Вы хотите раз и навсегда разобраться с concurrency и параллелизмом в Ruby и научиться использовать их так, чтобы не выстрелить себе в ногу
    Программа воркшопа
    День 1. Основы параллельных вычислений в Ruby
    Рассмотрим способы выявления неэффективных процессов, теория основ параллельных вычислений в Ruby, использование Thread и Fiber.

    Результат: Поймете, как определить проблему производительности и решишь её “в лоб” используя параллельные процессы в Ruby на практике.

    Содержание:

    • Введение в многопоточность и параллелизм: различия и преимущества.
    • Как находить узкие места производительности в Ruby-приложении.
    • Использование потоков (Thread) для параллельных вычислений: создание, управление, проблемы синхронизации.
    • Работа с легковесными процессами: введение в Fiber и его применение.
    • Практические примеры параллельной обработки: простые задачи и многопоточные решения.
    • Проблемы конкурентности: race-conditions, deadlock, и как с ними бороться.
    • Ограничения GIL (Global Interpreter Lock) в Ruby и как его обойти.
    День 2. Параллельные вычисления в Rails
    Узнаем, как параллельные вычисления могут быть интегрированы в веб-приложения на Ruby on Rails, и задействуем второй уровень оптимизации: фоновые задачи и очереди в Sidekiq.

    Результат: Сможете настроить параллельных вычислений в фоновых задачах Rails, контролируемо улучшить производительность выполняя задачи параллельно.

    Содержание:

    • Управление зависимостями и очередь задач в параллельных вычислениях. Обеспечение уникальности выполнения задач, продолжение обработки очереди после ошибки.
    • Советы по оптимизации фоновых процессов: минимизация задержек и контроль параллельных операций, логгирование, профилирование.
    • Метрики производительности для фоновых задач: мониторинг и оптимизация.
    • Подходы к обработке ошибок и ретрай задач в многопоточных системах.
    • Race condition, deadlock, retry failures.
    • Потеря данных при неожиданном завершении.
    • Memory bloat, database contention.
    День 3. Оптимизация работы с базами данных
    Поговорим о том, как параллельные вычисления помогают ускорить работу с большими объемами данных. Рассмотрим подходы к оптимизации SQL-запросов и блокировках, race-condition при параллельной обработке данных.

    Результат: Научитесь оптимизировать запросы к базам данных, минимизировать нагрузку и использовать параллельные вычисления для ускорения работы с большими данными без deadlock и потери данных.

    Содержание:

    • Параллелизм и базы данных: как эффективно распределить нагрузку между процессами и сохранить консистентность данных.
    • Оптимизация SQL-запросов для параллельной обработки: индексирование, версионирование.
    • Управление транзакциями в параллельных вычислениях: как избежать конфликтов и deadlock.
    • Проблемы блокировок (lock) и race-conditions при многопоточности в работе с базами данных.
    • Использование ActiveRecord для параллельных вычислений: как улучшить производительность запросов.
    • Кейсы работы с большими объемами данных: импорты, миграции, анализ данных в фоновом режиме.


    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх