Как снизить нагрузку на высокопосещаемый проект? Технический директор «Ленвендо» Виталий Гаврилов +7 (812) 322-95-87 (Санкт-Петербург) +7 (495) 646-85-55.

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



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

Стоимость владения Интернет-магазином тел.: +7 (812)
Редакционная система интернет-издания «Газета.Ru» 2008 Особенности издания СМИ в интернет Редакционная издательская система Редакционный процесс Публикация.
Проектирование Интернет-решений. Кому это нужно. Анастасия Гусакова Ленвендо.
Разгони свой сайт Лекция 3: Кэширование Мациевский Николай 1 / 19 webo.in.
Saint Petersburg, 2012 Java Lecture #12 JSP. JSP 2 Java Server Pages (JSP) – технология разработки веб страниц, поддерживающих динамический контент. Позволяет.
Системы управления содержимым сайта Content Management Systems (CMS) Лекция 9.
САЙТ как СРЕДСТВО ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ малого предпринимательства.
Анисимов А. О. Руководители: Васючкова Т. С., Семенов И. А.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
AJAX Выполнила: студентка группы ПИ-311 Газизова Влада.
Презентация по: информатике Ученицы 8 а класса МКОУ «Линевская СШ» ЛЕМАЕВОЙ ЭЛЬВИРЫ Преподаватель: СУШКОВ АЛЕКСАНДР ИВАНОВИЧ.
AJAX Asynchronous JavaScript and XML среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Новая версия «1С-Битрикс: Управление сайтом 10.0».
РАЗРАБОТКА ВЫСОКОНАГРУЖЕННЫХ WEB- ПРИЛОЖЕНИЙ inln.ru Кондратьев Денис.
OPTIMIZED COMPUTING Переносим нагрузку на клиент Николай Мациевский Parallels Online Marketing Director Снижаем нагрузку на сервер за счет клиентской оптимизации.
Заголовок Название раздела 0 Ленвендо Кто мы
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – оптимизация скорости работы приложений Из цикла лекций.
Поиск информации в ИНТЕРНЕТЕ Для слушателей курсов. ХалкечеваЛ.В.
Программное обеспечение как услуга (SaaS) Лекция 8.
Транксрипт:

Как снизить нагрузку на высокопосещаемый проект? Технический директор «Ленвендо» Виталий Гаврилов +7 (812) (Санкт-Петербург) +7 (495) (Москва)

Какими бывают высокопосещаемые ресурсы тел.: +7 (812) Высокодинамичные ресурсы Интернет СМИ Доски объявлений Часть Интернет - магазинов, активно использующих функции социального маркетинга Низкодинамичные ресурсы Интернет-магазины Интернет-сервисы (например, kupikupon.ru) Что мы сейчас не рассматриваем Социальные сети, twitter и т.д. Системы агрегации динамической информации (например, news.yandex.ru)

Особенности высокодинамичных ресурсов тел.: +7 (812) Высокая (от нескольких обновлений в минуту до сотен обновлений в секунду) скорость обновления информации Четкое разделение страниц на списки информации, элементы информации, прочие статические страницы с низкой частотой обновления Возможность выделения полностью динамической и условно статической частей в компоновке html страницы Использование внешних сервисов (обычно функций предоставляемых соцсетями) для увеличения заинтересованности посетителя

Особенности высокодинамичных ресурсов тел.: +7 (812)

Особенности низкодинамичных ресурсов тел.: +7 (812) Четкое разделение страниц на списки информации и элементы информации Возможность выделения полностью динамической и условно статической частей в компоновке html страницы Использование внешних сервисов (обычно функций предоставляемых соцсетями) для увеличения заинтересованности посетителя Высокие требования к оперативности обновления информации

Особенности низкодинамичных ресурсов тел.: +7 (812)

Снижение нагрузки на высокодинамичных проектах тел.: +7 (812) Разделение контента на полностью динамический и условно статический контент Перекомпоновка страниц для оптимального использования AJAX Статическое кеширование условно-статического контента

Снижение нагрузки на низкодинамичных проектах тел.: +7 (812) Разделение контента на полностью статический, условно- статический и высокодинамичный контент Управляемое кеширование условно- статического контента

Способы кеширования статического контента тел.: +7 (812) Использование заголовков Cache-Control и Expires (дает разрешение браузеру не перезапрашивать содержимое страницы, не спасает от «скачков» посещаемости) Использование кеширующего прокси сервера в связке с заголовками Cache-Control и Expires (дает устойчивость к «скачкам» посещаемости, не позволяет оперативно управлять обновлением кеша) Использование управляемого статического кеширования (решает все поставленные задачи)

Управляемое статическое кеширование тел.: +7 (812)

Управляемое статическое кеширование (Сервера FE) тел.: +7 (812) Принимают все входящие подключения Фактически самое ненагруженное звено в обработке запроса посетителя Не обладает информацией о связи запроса с элементом динамической информации В большинстве случаев это nginx (

Управляемое статическое кеширование. (Сервера FE) тел.: +7 (812) Nginx умеет Сохранять полученный ответ в файлах по заранее определенному пути (директива proxy_store) Определять наличие сохраненной копии файла Отдавать готовые ответы из сохраненных копий Nginx не умеет Отслеживать корректность отдаваемых данных

Управляемое статическое кеширование. Суть решения тел.: +7 (812) За ведение статического кеша отвечает nginx Из nginx на уровень приложения (в случае если запрос посетителя обрабатывается приложением, а не берется из закешированной копии, передается путь к файлу, в который будет сохранен ответ (файл кеша)) На уровне приложения информация о связке информационных элементов и файла кеша сохраняется в БД (лучше всего подходят NoSQL базы данных) При обновлении элемента информации на уровне приложения отдается команда на удаление файлов кеша по обновленному информационному элементу (можно делать это как прямой командой в nginx, который посредством встроенного perl сможет удалять файлы, так и через диспетчер очереди, в случае нескольких FE серверов)

Управляемое статическое кеширование. Суть решения тел.: +7 (812)

Что не вошло в рамки этой презентации тел.: +7 (812) Способы очистки статического кеша и обработка исключительных ситуаций Как хранить ключи в Redis так, чтобы БД не росла во времени от избытка ключей Прочие тонкие моменты статического кеширования (сжатый и несжатый контент, заголовки с кодировкой и типом данных и т.д.) Для чего еще можно использовать данное решение Как сделать сервисы AMQP и Redis отказоустойчивыми

А как же поисковые системы тел.: +7 (812) Весь внешний контент необходимо по максимуму включать в сохраненные в статическом кеше копии страниц У копии страницы есть время жизни, после которого она удаляется (что приводит к перестроению страницы, и, следовательно, к обновлению данных для поисковых систем) Необходимо помнить об альтернативных способах передачи информации в поисковые системы (RSS ленты и т.д.)

Спасибо за внимание! тел.: +7 (812) III место в рейтинге Best in digital 2013 в номинации « Разработка Highload систем »