Масштабируемость Интернет-ресурсов Игорь Лобанов Центр Финансовых Технологий.

Презентация:



Advertisements
Похожие презентации
Построение системного ландшафта для высоко нагруженного проекта ООО «Ленвендо-Софт» Гаврилов Виталий Технический директор тел.: +7 (812)
Advertisements

© 2009 Grid Dynamics Scaling Mission Critical Systems Алексей Рагозин Oracle Day, 2009.
1С-Битрикс: Управление сайтом 10.0 Веб-кластер.
1С-Битрикс: Управление сайтом 10.0 Веб-кластер.
Разработка высоконагруженных проектов Олег Бунин.
Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования Александр Демидов руководитель направления арендных.
Как увеличить скорость работы проекта путём оптимизации архитектуры БД
Cloud Computing Концепция, технология, экономика Лобанов Игорь СибирьЭнерго - Биллинг.
Новые возможности.NET Forge CMS Григорий Заводов ведущий разработчик «1С-Битрикс»
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
БАЗЫ ДАННЫХ часть II Параллельные архитектуры баз данных.
Учебник по построению высоконагруженных систем Олег Бунин.
называют cloud computing одной из самых перспективных стратегических технологий прогнозируют перемещение в ближайшие пять лет большей части существующих.
Наращивание производительности систем, в том числе "1С" на базе SQL Server за счет горизонтального масштабирования, используя совместимые решения Microsoft.
Веб-кластер, планы по развитию, распределенный веб-кластер Максим Смирнов ведущий разработчик.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ Дипломный проект на тему: Студент: Руководитель проекта:
Поддержка пользовательских файловых хранилищ. Облачные хранилища. Максим Смирнов ведущий разработчик.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Распределенные и параллельные вычисления на MS SQL (always on). Адаптация для 1С 8 Сердюк Владимир Баркетов Павел.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Транксрипт:

Масштабируемость Интернет-ресурсов Игорь Лобанов Центр Финансовых Технологий

Некоторые определения Атрибут качества – описание реакции системы на некоторый вид стумулов производительность масштабируемость безопасность Архитектура – сумма ограничений реализации, призванная обеспечить выполнение атрибутов качества Архитектор – ответственный за установку и соблюдение ограничений

Slashdot-эффект Сотни новых посетителей в минуту в течение 20 часов Мгновенный рост нагрузки на два порядка Уникальная возможность и большая опасность

Атрибуты качества Масштабируемость рост числа клиентов – нет деградации качества Производительность любой запрос клиента – время отклика Отказоустойчивость выход из строя узла – сохранение доступности

Звенья информационной системы

Профилирование

Кривые масштабирования CPU/число клиентовIOWait/число клиентов

Риски нагрузочного тестирования Неадекватный профиль нагрузки берём исторические данные Искажение результатов эксперимента контролируем способ измерения Неадекватный инструмент контролируем реальный профиль нагрузки

Повышение масштабируемости Оптимизация в идеале – избавление от работы вообще Вертикальное масштабирование более производительное оборудование Горизонтальное масштабирование кластеризация – распределение нагрузки

Content Delivery Network

Оптимизация прикладной логики Алгоритмические оптимизации Прикладное кэширование что? страницы фрагменты страниц результаты запросов к базе данных hit ratio инвалидация Асинхронная обработка запросов

Оптимизация доступа к данным Постоянные соединения Индексирование Денормализация схемы данных Преагрегация данных

Денормализация схемы данных

Преагрегация данных

Оптимизация СУБД Тюнинг обмениваем скорость на потребление памяти Блочный кэш уменьшение физических дисковых чтений Кэш запросов результаты часто повторяющихся запросов

Вертикальное масштабирование ЗаПротив Код и архитектура не требуют доработки Оборудование со временем становится быстрее и дешевле Цена на старшие модели растёт быстрее, чем их относительная производительность бюджет кончится раньше!

Масштабирование кластера

Распределение нагрузки

Общее состояние: каждый за себя Локальные сессионные данные в узле Локальный кэш в узле Инвалидация кэша?

Общее состояние: на клиенте Все сессионные данные присутствуют в каждом запросе Кэш? Требования безопасности?

Общее состояние: в базе данных Вся сессионная информация в базе данных, узлы в кластере прикладной логики «обезличены» Дополнительная нагрузка на базу данных Кэш?

Общее состояние: кластерный кэш «Общая память» подходит и для сессионных данных, и для кэша Нет проблем с инвалидацией кэша Требуется переработка системы

Репликация данных Синхронная изменения во всех узлах кластера БД Асинхронная мастер-ведомый мультимастер

Шардинг данных

Fresh meat Cloud computing Amazon Elastic Compute Cloud (EC2) Infrastructure as a Service (IaaS) Amazon Simple Storage Service (S3) Amazon SimpleDB Google AppEngine Google BigTable EngineYard