🗊Разработка высоконагруженных проектов Олег Бунин

Категория: Технологии
Нажмите для полного просмотра!
Разработка высоконагруженных проектов  Олег Бунин, слайд №1Разработка высоконагруженных проектов  Олег Бунин, слайд №2Разработка высоконагруженных проектов  Олег Бунин, слайд №3Разработка высоконагруженных проектов  Олег Бунин, слайд №4Разработка высоконагруженных проектов  Олег Бунин, слайд №5Разработка высоконагруженных проектов  Олег Бунин, слайд №6Разработка высоконагруженных проектов  Олег Бунин, слайд №7Разработка высоконагруженных проектов  Олег Бунин, слайд №8Разработка высоконагруженных проектов  Олег Бунин, слайд №9Разработка высоконагруженных проектов  Олег Бунин, слайд №10Разработка высоконагруженных проектов  Олег Бунин, слайд №11Разработка высоконагруженных проектов  Олег Бунин, слайд №12Разработка высоконагруженных проектов  Олег Бунин, слайд №13Разработка высоконагруженных проектов  Олег Бунин, слайд №14Разработка высоконагруженных проектов  Олег Бунин, слайд №15Разработка высоконагруженных проектов  Олег Бунин, слайд №16Разработка высоконагруженных проектов  Олег Бунин, слайд №17Разработка высоконагруженных проектов  Олег Бунин, слайд №18Разработка высоконагруженных проектов  Олег Бунин, слайд №19Разработка высоконагруженных проектов  Олег Бунин, слайд №20Разработка высоконагруженных проектов  Олег Бунин, слайд №21Разработка высоконагруженных проектов  Олег Бунин, слайд №22Разработка высоконагруженных проектов  Олег Бунин, слайд №23Разработка высоконагруженных проектов  Олег Бунин, слайд №24Разработка высоконагруженных проектов  Олег Бунин, слайд №25Разработка высоконагруженных проектов  Олег Бунин, слайд №26Разработка высоконагруженных проектов  Олег Бунин, слайд №27

Содержание

Вы можете ознакомиться и скачать Разработка высоконагруженных проектов Олег Бунин. Презентация содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Разработка высоконагруженных проектов
Олег Бунин
Описание слайда:
Разработка высоконагруженных проектов Олег Бунин

Слайд 2





Что такое “большой” проект?
Сотни тысяч, миллионы, десятки миллионов хитов;
Бесперебойная работа;
Сложная структура: 		              серверный парк, 			           большое количество 			       кода;
Большое количество 			   данных.
Описание слайда:
Что такое “большой” проект? Сотни тысяч, миллионы, десятки миллионов хитов; Бесперебойная работа; Сложная структура: серверный парк, большое количество кода; Большое количество данных.

Слайд 3





В чем измерять нагрузку?
Посетители;
Хосты;
Хиты.
Технический отдел меряет посещаемость в хитах! Имея прогноз посещаемости можно сделать выводы о использовании процессора, памяти и жестких дисков.
Описание слайда:
В чем измерять нагрузку? Посетители; Хосты; Хиты. Технический отдел меряет посещаемость в хитах! Имея прогноз посещаемости можно сделать выводы о использовании процессора, памяти и жестких дисков.

Слайд 4





Зависимость серверного парка от типа проекта
Описание слайда:
Зависимость серверного парка от типа проекта

Слайд 5





Что такое рост нагрузки с технической точки зрения?
Описание слайда:
Что такое рост нагрузки с технической точки зрения?

Слайд 6





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

Слайд 7





Типичные узкие места проектов
Описание слайда:
Типичные узкие места проектов

Слайд 8





Требуемые ресурсы при росте посещаемости
Описание слайда:
Требуемые ресурсы при росте посещаемости

Слайд 9


Разработка высоконагруженных проектов  Олег Бунин, слайд №9
Описание слайда:

Слайд 10





Горизонтальное масштабирование
Увеличение 					  производительности 					    системы за счет 					   подключения 				        дополнительных 	cерверов.
Отлично работает для 			        вычисляющих серверов, а как быть с базой данных?
Что делать со связанными общими для нескольких серверов данными?
Описание слайда:
Горизонтальное масштабирование Увеличение производительности системы за счет подключения дополнительных cерверов. Отлично работает для вычисляющих серверов, а как быть с базой данных? Что делать со связанными общими для нескольких серверов данными?

Слайд 11





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

Слайд 12





Функциональное разбиение
Разные функциональные части работают и хранятся на разных серверах системы.
Описание слайда:
Функциональное разбиение Разные функциональные части работают и хранятся на разных серверах системы.

Слайд 13





Шардинг
Разбиение данных на 			    кусочки, которые 		         раскладываются по 			          серверам-шардам.
Как правильно разбить 			    данные для шардинга? Как правильно идентифицировать данные?
У них просто нет выбора:
Описание слайда:
Шардинг Разбиение данных на кусочки, которые раскладываются по серверам-шардам. Как правильно разбить данные для шардинга? Как правильно идентифицировать данные? У них просто нет выбора:

Слайд 14





Разбиение данных для шардинга
Статическое: по первой букве логина, хэширование идентификаторов или логинов. Единого центра нет, соответственно нет узкого места, зато есть сложности с разрешением заранее непредусмотренных ситуаций.
				        Динамическое: есть 					        координирующий центр, 				        который отвечает на 					        вопрос “где лежит”? Он же 				        является узким местом, 				        	        зато добавление новых 				        	        серверов происходит без 				        изменения кода.
Описание слайда:
Разбиение данных для шардинга Статическое: по первой букве логина, хэширование идентификаторов или логинов. Единого центра нет, соответственно нет узкого места, зато есть сложности с разрешением заранее непредусмотренных ситуаций. Динамическое: есть координирующий центр, который отвечает на вопрос “где лежит”? Он же является узким местом, зато добавление новых серверов происходит без изменения кода.

Слайд 15





Как облегчить масштабирование?
  Низкая степень связности 			                                  данных и кода;
  Разделение кода на слои 			               (как минимум слой связи с 			         базой данных и слой 			     кэширования);
  Рефакторинг, высокое качество кода, минимизация workaround’ов;
  Контроль над системой, мониторинг;
  Минимизация академических решений (построение таблиц “на лету”, ORM).
Описание слайда:
Как облегчить масштабирование? Низкая степень связности данных и кода; Разделение кода на слои (как минимум слой связи с базой данных и слой кэширования); Рефакторинг, высокое качество кода, минимизация workaround’ов; Контроль над системой, мониторинг; Минимизация академических решений (построение таблиц “на лету”, ORM).

Слайд 16


Разработка высоконагруженных проектов  Олег Бунин, слайд №16
Описание слайда:

Слайд 17





Отдельно о базах данных
				База данных – типичное 					узкое место. Для базы данных 				актуальны  все 						вышеперечисленные методы 				увеличения 							производительности: горизонтальное и вертикальное масштабирование, функциональное разбиение, шардинг.
Горизонтальное масштабирование в случае с БД достигается с помощью репликации.
Описание слайда:
Отдельно о базах данных База данных – типичное узкое место. Для базы данных актуальны все вышеперечисленные методы увеличения производительности: горизонтальное и вертикальное масштабирование, функциональное разбиение, шардинг. Горизонтальное масштабирование в случае с БД достигается с помощью репликации.

Слайд 18





Репликация
Синхронизация 				               нескольких копий объекта.
Наиболее эффективна при 			   небольшом количестве 					     слейвов, иначе  усложняется 			           схема распространения изменений, которое, в дальнейшем, становится узким местом.
Усложнение программной архитектуры – например, чтение данных с слейва, до которого не докатились изменения.
Описание слайда:
Репликация Синхронизация нескольких копий объекта. Наиболее эффективна при небольшом количестве слейвов, иначе усложняется схема распространения изменений, которое, в дальнейшем, становится узким местом. Усложнение программной архитектуры – например, чтение данных с слейва, до которого не докатились изменения.

Слайд 19





Типичная архитектура: обычный сайт
Описание слайда:
Типичная архитектура: обычный сайт

Слайд 20





Структура типичного веб-проекта
Фронтенд – легкий быстрый сервер, отвечающий за отдачу статических картинок;
Бекенд – тяжелый программный сервер, производящий вычисления и строящий веб-страницы;
База данных, хранилище данных.
Описание слайда:
Структура типичного веб-проекта Фронтенд – легкий быстрый сервер, отвечающий за отдачу статических картинок; Бекенд – тяжелый программный сервер, производящий вычисления и строящий веб-страницы; База данных, хранилище данных.

Слайд 21





Узкие места
Описание слайда:
Узкие места

Слайд 22





Узкие места - 2
Описание слайда:
Узкие места - 2

Слайд 23





Развитие проекта
Описание слайда:
Развитие проекта

Слайд 24





Быстрый рост нагрузки – что делать?
Описание слайда:
Быстрый рост нагрузки – что делать?

Слайд 25





Быстрая помощь
Программные решения наиболее эффективны, но требуют много времени;
Требуемый уровень специалистов иногда запредельно высок;
Описание слайда:
Быстрая помощь Программные решения наиболее эффективны, но требуют много времени; Требуемый уровень специалистов иногда запредельно высок;

Слайд 26





Прогнозирование нагрузки
Нагрузочное тестирование. Организация нагрузочного тестирования. Почему стоит заказывать нагрузочное тестирование на стороне?
Формулы экстраполяции результатов тестирования на реальную работу. Пиковый характер http-трафика. “Тестирование сферического коня в вакууме”.
Опытные оценки, примеры.
Описание слайда:
Прогнозирование нагрузки Нагрузочное тестирование. Организация нагрузочного тестирования. Почему стоит заказывать нагрузочное тестирование на стороне? Формулы экстраполяции результатов тестирования на реальную работу. Пиковый характер http-трафика. “Тестирование сферического коня в вакууме”. Опытные оценки, примеры.

Слайд 27





oleg.bunin@ontico.ru
LiveJournal: oleg_bunin
Описание слайда:
oleg.bunin@ontico.ru LiveJournal: oleg_bunin



Похожие презентации
Mypresentation.ru
Загрузить презентацию