Доклад о насущей и затертой до дыр теме кеширования не только сайтов на WordPress, но и сайтов в целом: от перегрузки js-скриптов и CSS в CDN до установки и настройки Varnish Cache
Последовательная и параллельная загрузка, преимущества и недостатки. Разбираемся с основами сетей. Померим размер js файлов. Посмотрим на паттерны использования. Обратимся к основам программирования и базовым структурам данных. Разберёмся с механизмом пошаговой загрузки изображений. Напишем queue/sliding-buffer, посмотрим на девственно-чистый js/es2015.
Доклад о насущей и затертой до дыр теме кеширования не только сайтов на WordPress, но и сайтов в целом: от перегрузки js-скриптов и CSS в CDN до установки и настройки Varnish Cache
Последовательная и параллельная загрузка, преимущества и недостатки. Разбираемся с основами сетей. Померим размер js файлов. Посмотрим на паттерны использования. Обратимся к основам программирования и базовым структурам данных. Разберёмся с механизмом пошаговой загрузки изображений. Напишем queue/sliding-buffer, посмотрим на девственно-чистый js/es2015.
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)Ontico
На примере фреймворка COD.js ( c React as View Layer ) и топовых продуктов фирмы Acronis мы увидим, каких удивительных результатов можно добиться используя:
1) NAS — неблокирующее состояние приложения;
2) Predictions — дизайн-паттерн, позволяющий предсказывать состояния системы и производить так называемую "latency conpensation" — технику, которую очень любят в Game Dev;
3) Preloading — стандартную и всем знакомую технику, у которой есть пара интересных способов применения, заслуживающих внимания;
4) Presudo-Isomorphism — очень хитрую технику, которую так активно использует Facebook.
Все это будет показано на примере реальных продуктов. С простыми и понятными примерами, которые можно будет применить в любом продукте.
Веб-приложения бывают разные: от сайтов-визиток небольших компаний или персональных блогов, до известных социальных сетей и популярных интернет-магазинов, обслуживающих миллионы пользователей по всему миру. Как устроены сложные веб-приложения «под капотом», за счет чего они выдерживают высокие нагрузки и как строится взаимодействие пользователя с такими нетривиальными веб-приложениеми, мы рассмотрим в докладе.
Выбор оптимального хостинга для интернет-магазина на CMS Битриксborovoystudio
Презентация выступления Алексея Русакова, Начальник отдела облачных решений hoster.by, на Большом федеральном семинаре 1С-Битрикс в Минске 6 июня 2013 г.
Moбильная база данных Realm. Прошло ли время SQLite?Олег Чебулаев
- Обзор систем хранения данных
- Что такое Realm?
- Realm изнутри и почему он такой быстрый
- Сравнение производительности мобильных баз данных
- Практика использования
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. После 3 суток недоступности портала нам пришлось изобрести схему, которая бы физически ограничивала возможность повторения катастрофы. Схема включает в себя тестирование политик на тестовых серверах различной важности и конфигурации. "Маринование" в этой тестовой среде сопровождается автоматизированным контролем характеристик нагрузки этих серверов. Далее происходит обязательный ревью и плавное распространение последовательно по всем датацентрам.
В докладе будет рассказано:
1. почему мы выбрали CFEngine, а не Chief или Puppet;
2. как мы научили CFEngine быть дружелюбным (примеры политик и выдержки из библиотеки);
3. 100500 предпринятых мер, что бы не повторить "день 404" и соблюсти баланс между безопасностью и удобством;
4. как ещё можно использовать системы управления серверами.
Получаем текст веб-страниц из Python и как это работаетPyNSK
Докладчик:
Юра Бабуров aka buriy
Описание:
Мы рассмотрим python-библиотеку под названием readability-lxml (https://github.com/buriy/python-readability) , её применение и механизм работы для задачи извлечения текстов новостных страниц.
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет.
Введение. Подходы к оптимизации фронтенда:
* Классический: делаем по GPSI или WPT.
* Самостоятельный: прикрутили PageSpeed и CDN.
* Промышленный: PDSA (попробовали, измерили, внедрили, подсчитали).
* Кейс: открытие новостного сайта за 1 секунду на любом устройстве.
Часть 1. Мониторинг клиентской производительности
* Google Analytics / Яндекс.Метрика / Битрикс.
* New Relic / mPulse / Айри / Navigation Timing API.
* Resource Timing API / User Timing Api: собственные метрики.
* Кейс: как понять из метрик сайта, что и где тормозит.
Часть 2. Внедрение ускорения
* Как выбрать KPI скорости сайта.
* Базовые правила: как автоматизировать, внедрить, раскатать.
* "Бюджет" на ускорение страницы: как распределить.
* Поточное и отложенное ускорение: как выбрать.
* Некоторые типичные ошибки "оптимизации".
* Кейс: нестандартные подходы к оптимизации производительности.
Часть 3. Узкое профилирование
* Тестируем CDN: что смотрим, как измеряем.
* Тестируем мобильные устройства: тормозит CPU или GPRS ?
* Тестируем асинхронную загрузку: подводные камни.
* Кейс: сколько "стоит" ошибка в клиентской производительности.
Заключение. Промышленное внедрение
* Кейс: "швейцарский нож" для оптимизации изображений.
* Кейс: когда реально работает отложенная загрузка.
* Кейс: HTTP/2. Реальные данные.
* Кейс: как ускорить 2000 ресурсов в секунду?
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Организация надежного резервного копирования веб-проекта. Практика и подводны...Anton Baranov
1. Общая информация
- Что именно нужно бэкапить?
- Типы бэкапов. Плюсы и минусы.
- Периодичность создания.
- Выбор хранилища.
2. Бэкапы БД и файлов
- Обзор инструментов.
- Источники данных для бэкапов.
- Неочевидные особенности создания/восстановления.
3. Проблемы организации резервного копирования
- Актуальность данных.
- Скорость восстановления.
- Надежность создания резервных копий.
4. Верификация бэкапов
- Тестовый стенд.
- Мониторинг процесса.
- Ручные проверки.
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)Ontico
На примере фреймворка COD.js ( c React as View Layer ) и топовых продуктов фирмы Acronis мы увидим, каких удивительных результатов можно добиться используя:
1) NAS — неблокирующее состояние приложения;
2) Predictions — дизайн-паттерн, позволяющий предсказывать состояния системы и производить так называемую "latency conpensation" — технику, которую очень любят в Game Dev;
3) Preloading — стандартную и всем знакомую технику, у которой есть пара интересных способов применения, заслуживающих внимания;
4) Presudo-Isomorphism — очень хитрую технику, которую так активно использует Facebook.
Все это будет показано на примере реальных продуктов. С простыми и понятными примерами, которые можно будет применить в любом продукте.
Веб-приложения бывают разные: от сайтов-визиток небольших компаний или персональных блогов, до известных социальных сетей и популярных интернет-магазинов, обслуживающих миллионы пользователей по всему миру. Как устроены сложные веб-приложения «под капотом», за счет чего они выдерживают высокие нагрузки и как строится взаимодействие пользователя с такими нетривиальными веб-приложениеми, мы рассмотрим в докладе.
Выбор оптимального хостинга для интернет-магазина на CMS Битриксborovoystudio
Презентация выступления Алексея Русакова, Начальник отдела облачных решений hoster.by, на Большом федеральном семинаре 1С-Битрикс в Минске 6 июня 2013 г.
Moбильная база данных Realm. Прошло ли время SQLite?Олег Чебулаев
- Обзор систем хранения данных
- Что такое Realm?
- Realm изнутри и почему он такой быстрый
- Сравнение производительности мобильных баз данных
- Практика использования
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. После 3 суток недоступности портала нам пришлось изобрести схему, которая бы физически ограничивала возможность повторения катастрофы. Схема включает в себя тестирование политик на тестовых серверах различной важности и конфигурации. "Маринование" в этой тестовой среде сопровождается автоматизированным контролем характеристик нагрузки этих серверов. Далее происходит обязательный ревью и плавное распространение последовательно по всем датацентрам.
В докладе будет рассказано:
1. почему мы выбрали CFEngine, а не Chief или Puppet;
2. как мы научили CFEngine быть дружелюбным (примеры политик и выдержки из библиотеки);
3. 100500 предпринятых мер, что бы не повторить "день 404" и соблюсти баланс между безопасностью и удобством;
4. как ещё можно использовать системы управления серверами.
Получаем текст веб-страниц из Python и как это работаетPyNSK
Докладчик:
Юра Бабуров aka buriy
Описание:
Мы рассмотрим python-библиотеку под названием readability-lxml (https://github.com/buriy/python-readability) , её применение и механизм работы для задачи извлечения текстов новостных страниц.
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет.
Введение. Подходы к оптимизации фронтенда:
* Классический: делаем по GPSI или WPT.
* Самостоятельный: прикрутили PageSpeed и CDN.
* Промышленный: PDSA (попробовали, измерили, внедрили, подсчитали).
* Кейс: открытие новостного сайта за 1 секунду на любом устройстве.
Часть 1. Мониторинг клиентской производительности
* Google Analytics / Яндекс.Метрика / Битрикс.
* New Relic / mPulse / Айри / Navigation Timing API.
* Resource Timing API / User Timing Api: собственные метрики.
* Кейс: как понять из метрик сайта, что и где тормозит.
Часть 2. Внедрение ускорения
* Как выбрать KPI скорости сайта.
* Базовые правила: как автоматизировать, внедрить, раскатать.
* "Бюджет" на ускорение страницы: как распределить.
* Поточное и отложенное ускорение: как выбрать.
* Некоторые типичные ошибки "оптимизации".
* Кейс: нестандартные подходы к оптимизации производительности.
Часть 3. Узкое профилирование
* Тестируем CDN: что смотрим, как измеряем.
* Тестируем мобильные устройства: тормозит CPU или GPRS ?
* Тестируем асинхронную загрузку: подводные камни.
* Кейс: сколько "стоит" ошибка в клиентской производительности.
Заключение. Промышленное внедрение
* Кейс: "швейцарский нож" для оптимизации изображений.
* Кейс: когда реально работает отложенная загрузка.
* Кейс: HTTP/2. Реальные данные.
* Кейс: как ускорить 2000 ресурсов в секунду?
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Организация надежного резервного копирования веб-проекта. Практика и подводны...Anton Baranov
1. Общая информация
- Что именно нужно бэкапить?
- Типы бэкапов. Плюсы и минусы.
- Периодичность создания.
- Выбор хранилища.
2. Бэкапы БД и файлов
- Обзор инструментов.
- Источники данных для бэкапов.
- Неочевидные особенности создания/восстановления.
3. Проблемы организации резервного копирования
- Актуальность данных.
- Скорость восстановления.
- Надежность создания резервных копий.
4. Верификация бэкапов
- Тестовый стенд.
- Мониторинг процесса.
- Ручные проверки.
Организация надежного резервного копирования веб-проекта. Практика и подводны...Ontico
1. Общая информация
- Что именно нужно бэкапить?
- Типы бэкапов. Плюсы и минусы.
- Периодичность создания.
- Выбор хранилища.
2. Бэкапы БД и файлов
- Обзор инструментов.
- Источники данных для бэкапов.
- Неочевидные особенности создания/восстановления.
3. Проблемы организации резервного копирования
- Актуальность данных.
- Скорость восстановления.
- Надежность создания резервных копий.
4. Верификация бэкапов
- Тестовый стенд.
- Мониторинг процесса.
- Ручные проверки.
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Ontico
РИТ++ 2017, Frontend Сonf
Зал Мумбаи, 6 июня, 14:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2471.html
Знаете ли вы, что такое прогрессивный рендеринг?
Почему вам стоит его использовать?
Какие есть варианты сегодня?
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Badoo Development
Доклад не про БД в чистом виде а про архитектуру веб-приложений, использующих БД.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются разработчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
Подробно:
• Зачастую в стартапе изначально проектируется архитектура вокруг БД, рассчитанная на огромные нагрузки, на большое масштабирование, которые потом в реальной жизни никогда не понадобятся.
• Или проектируется архитектура, которая якобы дает отказоустойчивость, но при этом проблемы нижних уровней абстракции во внимание не принимаются.
• При выборе основной БД для проекта выбирается БД, которая не дает большого запаса фич в будущем, появляется дороговизна и сложность изменения.
• Используйте инструменты, которые вы хорошо изучили. «Психологическая» популярность NoSQL. Достоинства и недостатки SQL и NoSQL БД.
• Проблемы использования БД как хранилища/движка обработки событий зачастую не оправдано. Альтернативы.
• Использование БД для поиска, плюсы и минусы.
• Eventual consistency рулит, и как из этого можно извлечь пользу.
Целевая аудитория:
Доклад будет интересен веб-разработчикам, особенно из стартапов и небольших команд, техническим руководителям.
Распространенные ошибки применения баз данныхSergey Xek
Доклад не про БД в чистом виде а про архитектуру веб-приложений, использующих БД.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются разработчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
Подробно:
• Зачастую в стартапе изначально проектируется архитектура вокруг БД, рассчитанная на огромные нагрузки, на большое масштабирование, которые потом в реальной жизни никогда не понадобятся.
• Или проектируется архитектура, которая якобы дает отказоустойчивость, но при этом проблемы нижних уровней абстракции во внимание не принимаются.
• При выборе основной БД для проекта выбирается БД, которая не дает большого запаса фич в будущем, появляется дороговизна и сложность изменения.
• Используйте инструменты, которые вы хорошо изучили. «Психологическая» популярность NoSQL. Достоинства и недостатки SQL и NoSQL БД.
• Проблемы использования БД как хранилища/движка обработки событий зачастую не оправдано. Альтернативы.
• Использование БД для поиска, плюсы и минусы.
• Eventual consistency рулит, и как из этого можно извлечь пользу.
Целевая аудитория:
Доклад будет интересен веб-разработчикам, особенно из стартапов и небольших команд, техническим руководителям.
РИФ+КИБ 2014 [Севальнев] - Плюсы и подводные камни для SEO при использовании CDNДмитрий Севальнев
= План доклада =
1. Факторы ранжирования поисковых систем, учитывающие скорость загрузки сайта:
- Время отклика сервера и загрузки страницы.
- Внутрихостовые поведенческие факторы.
- Конверсия в e-commerce сегменте.
- Кейсы реальных сайтов.
2. Избегаем подводных камней для SEO:
- Вертикальные поиски.
- Трафик в поиске по картинкам / видео и CDN.
- Дубли страниц, использование атрибута rel="canonical".
- Панель Вебмастера.
Распространенные ошибки применения баз данныхSergey Xek
Распространенные ошибки применения баз данных. Сергей Аверин, Badoo.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются раз- работчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
• Зачастую в стартапе изначально проектируется архитектура вокруг БД, рассчитанная на огромные нагрузки, на большое масштабирование, ко- торые потом в реальной жизни никогда не понадобится.
• Или проектируется архитектура, которая якобы дает отказоустойчи- вость, но при этом проблемы нижних уровней абстракции во внимание не принимаются.
• При выборе основной БД для проекта выбирается БД, которая не дает большого запаса фич в будущем, появляется дороговизна и сложность изменения.
• Используйте инструменты, которые вы хорошо изучили. «Психологиче- ская» популярность NoSQL. Достоинства и недостатки SQL и NoSQL БД.
• Проблемы использования БД как хранилища/движка обработки собы- тий зачастую не оправдано. Альтернативы.
• Использование БД для поиска, плюсы и минусы.
• Eventual consistency рулит, и как из этого можно извлечь пользу.
Целевая аудитория:
Доклад будет интересен веб-разработчикам, особенно из стартапов и неболь- ших команд, техническим руководителям.
4. Методы
• Pagespeed insights
• CDN
• Кеширование страниц
• Асинхронная и поэтапная загрузка элементов
страницы
• Контроль сканирования страниц ботом
5. CDN
• Выше скорость загрузки страниц
• Защита от DDOS
• Снижаем нагрузку и трафик на основной сервер
Какие плюсы должны получить?
6. CDN
• В каких странах нужно
ускориться
• Своя разработка или купить
сервис
• Что будем отдавать:
статика, динамика, другой
контент
• Как часто будет
обновляться
7. CDN + свои серваки
• Свои серваки в разных странах - отдача там, где CDN
не справляется или ее просто нет
• CDN - меньшие затраты и быстрей для тех стран, где
он хорошо работает
8. Кеширование контента
• Можно кешировать
практически все - даже
поисковые запросы на сайте
• Время жизни кеша - должна
быть разная для разных
типов контента
• Если контент динамический
- нужно оптимизировать
принцип его формирования
Кеш
Клиент
(браузер)
Сервер
gzip База данных
9. Асинхронная и поэтапная
загрузка данных на странице
• Асинхронно подгружать скрипты и различные
плагины
• Поэтапная загрузка: основной контент —> доп
материалы (превью изображений, тултипы и тд)
10. Много тяжелого
контента на странице?
1. Размещаем его на разных серверах
2. При загрузке страницы элементы загружаются с
разных серверов одновременно
3. Профит
11. Контроль сканирования
разных страниц ботом
• Настройте мониторинг в
Kibana
• Анализируйте разные типы
(кластеры) страниц
• Не забывайте про crawl-
delay
13. Подсчет веса - самый
простой способ
• Посчитаем количество
блоков, которые ссылаются
на каждую страницу
• + Сразу понимаем структуру
сайта - значит можем
улучшить
14. Подсчет веса - способы
посложней
• Лучший краулер из
покупных - DeepCrawl
• Еще: Scrapy, Screaming Frog,
Netpeak Spider и другие
• Выдается примерный вес
каждой страницы
• Вес страницы =
(входящие ссылки х 2 -
исходящие ссылки) * k
15. Подсчет веса страниц
• Разделяем страницы по группам
• Берем средний вес для каждой группы страниц
• Узнаем куда сливается больше веса
17. Реализация
Хардкод Админка
Плюсы
• Не нужно разрабатывать админку
• Быстрей внедрить
Минусы
• Не выйдет быстро менять
• Усложняется проведение тестов
Плюсы
• Меняешь сам, когда хочешь
• Быстрые тесты
Минусы
• Время на разработку и внедрение
18. Частые ошибки в
перелинковке
• Сливаем вес на страницы без потенциала по трафику
• Поделили страницы на минимум групп - нет
разнообразия
• Сливаем на страницы с noindex, canonical и тд