SlideShare a Scribd company logo
1 of 17
Как снизить нагрузку
на высокопосещаемый
проект?



Технический директор «Ленвендо»
Виталий Гаврилов




      +7 (812) 322-95-87 (Санкт-Петербург)  +7 (495) 646-85-55 (Москва)     info@lenvendo.ru
Какими бывают высокопосещаемые ресурсы

Высокодинамичные ресурсы

√   Интернет СМИ
√   Доски объявлений
√   Часть Интернет - магазинов, активно использующих функции
    социального маркетинга

Низкодинамичные ресурсы
√   Интернет-магазины
√   Интернет-сервисы (например, kupikupon.ru)

Что мы сейчас не рассматриваем

√   Социальные сети, twitter и т.д.
√   Системы агрегации динамической информации (например,
    news.yandex.ru)



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

Высокая (от нескольких обновлений в минуту до сотен
обновлений в секунду) скорость обновления информации

Четкое разделение страниц на списки информации, элементы
информации, прочие статические страницы с низкой частотой
обновления

Возможность выделения полностью динамической и условно
статической частей в компоновке html страницы

Использование внешних сервисов (обычно функций
предоставляемых соцсетями) для увеличения
заинтересованности посетителя



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




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


Четкое разделение страниц на списки информации и элементы
информации

Возможность выделения полностью динамической и условно
статической частей в компоновке html страницы

Использование внешних сервисов (обычно функций
предоставляемых соцсетями) для увеличения
заинтересованности посетителя

Высокие требования к оперативности
обновления информации




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




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

Разделение контента на полностью динамический и
условно статический контент

Перекомпоновка страниц для оптимального
использования AJAX

Статическое кеширование условно-статического контента




                                 тел.: +7 (812) 322-95-87   info@lenvendo.ru
Снижение нагрузки на низкодинамичных проектах


Разделение контента на полностью статический, условно-
статический и высокодинамичный контент


Управляемое кеширование условно-
статического контента




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

Использование заголовков “Cache-Control” и “Expires”
(дает разрешение браузеру не перезапрашивать содержимое
страницы, не спасает от «скачков» посещаемости)

Использование кеширующего прокси сервера в связке с
заголовками “Cache-Control” и “Expires”
(дает устойчивость к «скачкам» посещаемости, не позволяет
оперативно управлять обновлением кеша)

Использование управляемого статического
кеширования
(решает все поставленные задачи)




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




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


Принимают все входящие подключения

Фактически самое ненагруженное звено в обработке запроса
посетителя

Не обладает информацией о связи запроса с элементом
динамической информации

В большинстве случаев это nginx (www.nginx.ru)




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

                 Nginx умеет
                  Сохранять полученный ответ в файлах по заранее
                   определенному пути (директива proxy_store)

                  Определять наличие сохраненной копии файла

                  Отдавать готовые ответы из сохраненных копий



Nginx не умеет
 Отслеживать корректность отдаваемых данных




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

За ведение статического кеша отвечает nginx

Из nginx на уровень приложения (в случае если запрос посетителя
обрабатывается приложением, а не берется из закешированной копии,
передается путь к файлу, в который будет сохранен ответ (файл кеша))

На уровне приложения информация о связке информационных
элементов и файла кеша сохраняется в БД (лучше всего подходят NoSQL
базы данных)

При обновлении элемента информации на уровне приложения отдается
команда на удаление файлов кеша по обновленному информационному
элементу (можно делать это как прямой командой в nginx, который
посредством встроенного perl сможет удалять файлы, так и через
диспетчер очереди, в случае нескольких FE серверов)



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




                         тел.: +7 (812) 322-95-87   info@lenvendo.ru
Что не вошло в рамки этой презентации

     Способы очистки статического кеша и обработка
     исключительных ситуаций

     Как хранить ключи в Redis так, чтобы БД не росла во
     времени от избытка ключей

     Прочие тонкие моменты статического кеширования
     (сжатый и несжатый контент, заголовки с кодировкой и типом
     данных и т.д.)

     Для чего еще можно использовать данное решение

     Как сделать сервисы AMQP и Redis
     отказоустойчивыми



                                    тел.: +7 (812) 322-95-87   info@lenvendo.ru
А как же поисковые системы

Весь внешний контент необходимо по максимуму включать в
сохраненные в статическом кеше копии страниц

У копии страницы есть время жизни, после которого она
удаляется (что приводит к перестроению страницы, и, следовательно, к
обновлению данных для поисковых систем)

Необходимо помнить об альтернативных способах передачи
информации в поисковые системы (RSS ленты и т.д.)




                                           тел.: +7 (812) 322-95-87   info@lenvendo.ru
Спасибо за внимание!
          www.lenvendo.ru


     III место в рейтинге Best in digital 2013
в номинации   «Разработка Highload систем»




                                 тел.: +7 (812) 322-95-87   info@lenvendo.ru

More Related Content

What's hot

Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСИнфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСYury Petrov
 
максим бабич
максим бабичмаксим бабич
максим бабичkuchinskaya
 
Платежная система Деньги@Mail.Ru
Платежная система Деньги@Mail.RuПлатежная система Деньги@Mail.Ru
Платежная система Деньги@Mail.RuMax Babich
 
Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных IT Share
 
InfoboxCloud для СМИ
InfoboxCloud для СМИInfoboxCloud для СМИ
InfoboxCloud для СМИYuri Trukhin
 
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
 
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Yandex
 
HighLoad++ 2009 In-Memory Data Grids
HighLoad++ 2009 In-Memory Data GridsHighLoad++ 2009 In-Memory Data Grids
HighLoad++ 2009 In-Memory Data GridsAlexey Kharlamov
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...IT-Portfolio
 
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернете
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернетеКонтент-фильтр SkyDNS. Эффективная защита учащихся в интернете
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернетеSkyDNS
 
Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники".toster
 
Talksum dec2013 rus_generic
Talksum dec2013 rus_genericTalksum dec2013 rus_generic
Talksum dec2013 rus_genericdartemiev
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...IT-Portfolio
 
Облакотека - интеграционная платформа для партнеров
Облакотека - интеграционная платформа для партнеровОблакотека - интеграционная платформа для партнеров
Облакотека - интеграционная платформа для партнеровМаксим Захаренко
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6Technopark
 
Sphinx + MongoDB: работаем вместе.
Sphinx + MongoDB: работаем вместе.Sphinx + MongoDB: работаем вместе.
Sphinx + MongoDB: работаем вместе.MageCloud
 
S7_1СДокументооборот
S7_1СДокументооборотS7_1СДокументооборот
S7_1СДокументооборот1C-KPD
 
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.org
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.orgЗащита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.org
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.orgIT61
 
Блокчейн и PKI: друзья или конкуренты?
Блокчейн и PKI: друзья или конкуренты?Блокчейн и PKI: друзья или конкуренты?
Блокчейн и PKI: друзья или конкуренты?Natasha Khramtsovsky
 

What's hot (20)

Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСИнфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
 
максим бабич
максим бабичмаксим бабич
максим бабич
 
Платежная система Деньги@Mail.Ru
Платежная система Деньги@Mail.RuПлатежная система Деньги@Mail.Ru
Платежная система Деньги@Mail.Ru
 
Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных Роман Белешев - Online backup: технологии хранения больших объемов данных
Роман Белешев - Online backup: технологии хранения больших объемов данных
 
InfoboxCloud для СМИ
InfoboxCloud для СМИInfoboxCloud для СМИ
InfoboxCloud для СМИ
 
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
 
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
 
HighLoad++ 2009 In-Memory Data Grids
HighLoad++ 2009 In-Memory Data GridsHighLoad++ 2009 In-Memory Data Grids
HighLoad++ 2009 In-Memory Data Grids
 
Денис Ларионов (Kinza 2016)
Денис Ларионов (Kinza 2016) Денис Ларионов (Kinza 2016)
Денис Ларионов (Kinza 2016)
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
 
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернете
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернетеКонтент-фильтр SkyDNS. Эффективная защита учащихся в интернете
Контент-фильтр SkyDNS. Эффективная защита учащихся в интернете
 
Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"
 
Talksum dec2013 rus_generic
Talksum dec2013 rus_genericTalksum dec2013 rus_generic
Talksum dec2013 rus_generic
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
 
Облакотека - интеграционная платформа для партнеров
Облакотека - интеграционная платформа для партнеровОблакотека - интеграционная платформа для партнеров
Облакотека - интеграционная платформа для партнеров
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6
 
Sphinx + MongoDB: работаем вместе.
Sphinx + MongoDB: работаем вместе.Sphinx + MongoDB: работаем вместе.
Sphinx + MongoDB: работаем вместе.
 
S7_1СДокументооборот
S7_1СДокументооборотS7_1СДокументооборот
S7_1СДокументооборот
 
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.org
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.orgЗащита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.org
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.org
 
Блокчейн и PKI: друзья или конкуренты?
Блокчейн и PKI: друзья или конкуренты?Блокчейн и PKI: друзья или конкуренты?
Блокчейн и PKI: друзья или конкуренты?
 

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

20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...IT-Portfolio
 
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)Ontico
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Ленвендо. Корпоративный портал.
Ленвендо. Корпоративный портал.Ленвендо. Корпоративный портал.
Ленвендо. Корпоративный портал.Lenvendo
 
Повышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решенийПовышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решенийLenvendo
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 
Windows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopWindows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopAlexey Bokov
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров 1С-Битрикс
 
DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.mikhaelsmirnov
 
Современный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаСовременный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаSQALab
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...it-people
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Ontico
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование системMedia Gorod
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатленияfudz1k
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11olgaoov
 
IBM Technology Day 2013 Sy Storage
IBM Technology Day 2013 Sy StorageIBM Technology Day 2013 Sy Storage
IBM Technology Day 2013 Sy StorageSergey Kostenko
 

Similar to Как снизить нагрузку на высокопосещаемый проект (20)

20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Несколько...
 
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Ленвендо. Корпоративный портал.
Ленвендо. Корпоративный портал.Ленвендо. Корпоративный портал.
Ленвендо. Корпоративный портал.
 
Повышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решенийПовышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решений
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
IMU_RBS
IMU_RBSIMU_RBS
IMU_RBS
 
Windows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopWindows Azure - BigData and Hadoop
Windows Azure - BigData and Hadoop
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров
 
DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.DBD lection 4. Big Data, NoSQL. In Russian.
DBD lection 4. Big Data, NoSQL. In Russian.
 
Битрикс-Framework
Битрикс-FrameworkБитрикс-Framework
Битрикс-Framework
 
Современный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаСовременный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проекта
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование систем
 
Highload++ 2015
Highload++ 2015Highload++ 2015
Highload++ 2015
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
 
Eternal static (RIT 2011)
Eternal static (RIT 2011)Eternal static (RIT 2011)
Eternal static (RIT 2011)
 
IBM Technology Day 2013 Sy Storage
IBM Technology Day 2013 Sy StorageIBM Technology Day 2013 Sy Storage
IBM Technology Day 2013 Sy Storage
 

More from sportgid

Процесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolПроцесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolsportgid
 
Секреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийСекреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийsportgid
 
Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.sportgid
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)sportgid
 
Сделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиСделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиsportgid
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииsportgid
 
Продвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаПродвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаsportgid
 
Оценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаОценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаsportgid
 
Как заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаКак заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаsportgid
 
Идеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеИдеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеsportgid
 
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин ЧебунинКоммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунинsportgid
 
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...sportgid
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)sportgid
 
Контекстная реклама (eLama)
Контекстная реклама (eLama)Контекстная реклама (eLama)
Контекстная реклама (eLama)sportgid
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Экономика отказоустойчивости
Экономика отказоустойчивостиЭкономика отказоустойчивости
Экономика отказоустойчивостиsportgid
 
Стабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииСтабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииsportgid
 

More from sportgid (17)

Процесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolПроцесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.school
 
Секреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийСекреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компаний
 
Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
 
Сделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиСделать в срок: сайт за две недели
Сделать в срок: сайт за две недели
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализации
 
Продвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаПродвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результата
 
Оценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаОценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проекта
 
Как заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаКак заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайта
 
Идеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеИдеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитие
 
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин ЧебунинКоммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
 
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
 
Контекстная реклама (eLama)
Контекстная реклама (eLama)Контекстная реклама (eLama)
Контекстная реклама (eLama)
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Экономика отказоустойчивости
Экономика отказоустойчивостиЭкономика отказоустойчивости
Экономика отказоустойчивости
 
Стабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииСтабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграции
 

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

  • 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
  • 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