Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
27 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
2.33 MB
Просмотров:
46
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Разработка высоконагруженных](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img0.jpg)
Содержание слайда: Разработка высоконагруженных проектов
Олег Бунин
№2 слайд![Что такое большой проект?](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img1.jpg)
Содержание слайда: Что такое “большой” проект?
Сотни тысяч, миллионы, десятки миллионов хитов;
Бесперебойная работа;
Сложная структура: серверный парк, большое количество кода;
Большое количество данных.
№3 слайд![В чем измерять нагрузку?](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img2.jpg)
Содержание слайда: В чем измерять нагрузку?
Посетители;
Хосты;
Хиты.
Технический отдел меряет посещаемость в хитах! Имея прогноз посещаемости можно сделать выводы о использовании процессора, памяти и жестких дисков.
№4 слайд![Зависимость серверного парка](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img3.jpg)
Содержание слайда: Зависимость серверного парка от типа проекта
№5 слайд![Что такое рост нагрузки с](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img4.jpg)
Содержание слайда: Что такое рост нагрузки с технической точки зрения?
№6 слайд![Типы роста нагрузки Рост](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img5.jpg)
Содержание слайда: Типы роста нагрузки
Рост ресурсов, требуемых на обработку потока запросов;
Рост ресурсов, требуемых для хранения пользовательских данных;
Рост ресурсов, требуемых для передачи данных между пользователями и сервером.
№7 слайд![Типичные узкие места проектов](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img6.jpg)
Содержание слайда: Типичные узкие места проектов
№8 слайд![Требуемые ресурсы при росте](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img7.jpg)
Содержание слайда: Требуемые ресурсы при росте посещаемости
№9 слайд![](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img8.jpg)
№10 слайд![Горизонтальное](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img9.jpg)
Содержание слайда: Горизонтальное масштабирование
Увеличение производительности системы за счет подключения дополнительных cерверов.
Отлично работает для вычисляющих серверов, а как быть с базой данных?
Что делать со связанными общими для нескольких серверов данными?
№11 слайд![Вертикальное масштабирование](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img10.jpg)
Содержание слайда: Вертикальное масштабирование
Увеличение производительности системы за счет увеличения мощности сервера.
В какой-то момент мы все равно достигнем предела по процессору, памяти или жесткому диску.
№12 слайд![Функциональное разбиение](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img11.jpg)
Содержание слайда: Функциональное разбиение
Разные функциональные части работают и хранятся на разных серверах системы.
№13 слайд![Шардинг Разбиение данных на](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img12.jpg)
Содержание слайда: Шардинг
Разбиение данных на кусочки, которые раскладываются по серверам-шардам.
Как правильно разбить данные для шардинга? Как правильно идентифицировать данные?
У них просто нет выбора:
№14 слайд![Разбиение данных для шардинга](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img13.jpg)
Содержание слайда: Разбиение данных для шардинга
Статическое: по первой букве логина, хэширование идентификаторов или логинов. Единого центра нет, соответственно нет узкого места, зато есть сложности с разрешением заранее непредусмотренных ситуаций.
Динамическое: есть координирующий центр, который отвечает на вопрос “где лежит”? Он же является узким местом, зато добавление новых серверов происходит без изменения кода.
№15 слайд![Как облегчить](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img14.jpg)
Содержание слайда: Как облегчить масштабирование?
Низкая степень связности данных и кода;
Разделение кода на слои (как минимум слой связи с базой данных и слой кэширования);
Рефакторинг, высокое качество кода, минимизация workaround’ов;
Контроль над системой, мониторинг;
Минимизация академических решений (построение таблиц “на лету”, ORM).
№16 слайд![](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img15.jpg)
№17 слайд![Отдельно о базах данных База](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img16.jpg)
Содержание слайда: Отдельно о базах данных
База данных – типичное узкое место. Для базы данных актуальны все вышеперечисленные методы увеличения производительности: горизонтальное и вертикальное масштабирование, функциональное разбиение, шардинг.
Горизонтальное масштабирование в случае с БД достигается с помощью репликации.
№18 слайд![Репликация Синхронизация](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img17.jpg)
Содержание слайда: Репликация
Синхронизация нескольких копий объекта.
Наиболее эффективна при небольшом количестве слейвов, иначе усложняется схема распространения изменений, которое, в дальнейшем, становится узким местом.
Усложнение программной архитектуры – например, чтение данных с слейва, до которого не докатились изменения.
№19 слайд![Типичная архитектура обычный](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img18.jpg)
Содержание слайда: Типичная архитектура: обычный сайт
№20 слайд![Структура типичного](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img19.jpg)
Содержание слайда: Структура типичного веб-проекта
Фронтенд – легкий быстрый сервер, отвечающий за отдачу статических картинок;
Бекенд – тяжелый программный сервер, производящий вычисления и строящий веб-страницы;
База данных, хранилище данных.
№21 слайд![Узкие места](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img20.jpg)
Содержание слайда: Узкие места
№22 слайд![Узкие места -](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img21.jpg)
Содержание слайда: Узкие места - 2
№23 слайд![Развитие проекта](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img22.jpg)
Содержание слайда: Развитие проекта
№24 слайд![Быстрый рост нагрузки что](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img23.jpg)
Содержание слайда: Быстрый рост нагрузки – что делать?
№25 слайд![Быстрая помощь Программные](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img24.jpg)
Содержание слайда: Быстрая помощь
Программные решения наиболее эффективны, но требуют много времени;
Требуемый уровень специалистов иногда запредельно высок;
№26 слайд![Прогнозирование нагрузки](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img25.jpg)
Содержание слайда: Прогнозирование нагрузки
Нагрузочное тестирование. Организация нагрузочного тестирования. Почему стоит заказывать нагрузочное тестирование на стороне?
Формулы экстраполяции результатов тестирования на реальную работу. Пиковый характер http-трафика. “Тестирование сферического коня в вакууме”.
Опытные оценки, примеры.
№27 слайд![oleg.bunin ontico.ru](/documents/a5b396342b6a0a49b9ffb414dd8d93c5/img26.jpg)
Содержание слайда: oleg.bunin@ontico.ru
LiveJournal: oleg_bunin