1 / 17

Как снизить нагрузку на высокопосещаемый проект?

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

fionan
Download Presentation

Как снизить нагрузку на высокопосещаемый проект?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. Особенности высокодинамичных ресурсов тел.: +7 (812) 322-95-87 info@lenvendo.ru

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

  6. Особенности низкодинамичных ресурсов тел.: +7 (812) 322-95-87 info@lenvendo.ru

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

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

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

  10. Управляемое статическое кеширование тел.: +7 (812) 322-95-87 info@lenvendo.ru

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

  12. Управляемое статическое кеширование. (Сервера FE) • Nginx умеет • Сохранять полученный ответ в файлах по заранее определенному пути (директива proxy_store) • Определять наличие сохраненной копии файла • Отдавать готовые ответы из сохраненных копий • Nginxне умеет • Отслеживать корректность отдаваемых данных тел.: +7 (812) 322-95-87 info@lenvendo.ru

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

  14. Управляемое статическое кеширование. Суть решения тел.: +7 (812) 322-95-87 info@lenvendo.ru

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

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

  17. Спасибо за внимание! www.lenvendo.ru III место в рейтинге Best in digital 2013 в номинации«Разработка Highloadсистем» тел.: +7 (812) 322-95-87 info@lenvendo.ru

More Related