Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
HighLoad++ 2017
Зал Конгресс-Холл, 7.ноября, 11:00
Презентация и тезисы:
http://www.highload.ru/2017/abstracts/2981.html
Что нового появилось в nginx за последнее время, и для чего всё это нужно? В докладе - рассказ про основные новые функции в nginx 1.11.x (доступно в стабильной ветке 1.12.x) и 1.13.x. Для чего нужен параметр сборки --with-compat, что делает директива mirror, будет ли работать TLS 1.3, как обновлять кэш с помощью proxy_cache_background_update, что такое stale-while-revalidate, как логировать JSON и что делать, если после обновления конфигурации старые рабочие процессы долго не завершаются.
Читаем CHANGES вместе и разбираем на примерах.
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
Оптимизация любого веб-приложения — это нетривиальная задача, для решения которой требуется проводить мониторинг загрузки системных ресурсов, выполнять микро-вэнчмаркинг, экспериментировать с настройками, проводить нагрузочное тестирование и т.д.
В текущем году нашей команде довелось поучаствовать в нескольких проектах, в которых перед нами стояла задача оптимизации J2EE веб-приложений. Один из них — портал для ОАО «Сбербанк России» (www.sberbank.ru).
Основной сайт Сбербанка реализован на основе портального движка BackBase и является J2EE-приложением. При проведении оптимизации его работы нам пришлось изучить и собрать много информации и документов, которые связаны с настройкой и оптимизацией высоконагруженных веб-приложений.
В ходе реализации проектов я заметил, что не существует сводного документа с инструкциями по оптимизации работы приложения, поэтому решил поделиться нашим опытом. Этот доклад может послужить в качестве дорожной карты (Road Map) для настройки и оптимизации J2EE веб-приложений.
В докладе будут рассмотрены следующие аспекты:
1) Общие подходы и методология оптимизации веб-приложения.
2) Оптимизация настроек веб-сервера.
3) Оптимизация кода приложения на стороне клиента.
4) Оптимизация на стороне middleware, в том числе на сервере приложений.
5) Оптимизация на уровне Базы Данных.
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
Недавно запустили новый сайт Тинькофф.
У нас есть желание поделиться с аудиторией подходом и опытом разработки большого изоморфного приложения на React.js и Flux. Меньше чем за год мы разработали новый сайт и интернет-банк, заложив платформу на ближайшие несколько лет для быстрой разработки фронтенда новых продуктов.
Сейчас tinkoff.ru насчитывает более 3000 компонентов и сотни страниц.
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
HighLoad++ 2017
Зал Конгресс-Холл, 7.ноября, 11:00
Презентация и тезисы:
http://www.highload.ru/2017/abstracts/2981.html
Что нового появилось в nginx за последнее время, и для чего всё это нужно? В докладе - рассказ про основные новые функции в nginx 1.11.x (доступно в стабильной ветке 1.12.x) и 1.13.x. Для чего нужен параметр сборки --with-compat, что делает директива mirror, будет ли работать TLS 1.3, как обновлять кэш с помощью proxy_cache_background_update, что такое stale-while-revalidate, как логировать JSON и что делать, если после обновления конфигурации старые рабочие процессы долго не завершаются.
Читаем CHANGES вместе и разбираем на примерах.
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
Оптимизация любого веб-приложения — это нетривиальная задача, для решения которой требуется проводить мониторинг загрузки системных ресурсов, выполнять микро-вэнчмаркинг, экспериментировать с настройками, проводить нагрузочное тестирование и т.д.
В текущем году нашей команде довелось поучаствовать в нескольких проектах, в которых перед нами стояла задача оптимизации J2EE веб-приложений. Один из них — портал для ОАО «Сбербанк России» (www.sberbank.ru).
Основной сайт Сбербанка реализован на основе портального движка BackBase и является J2EE-приложением. При проведении оптимизации его работы нам пришлось изучить и собрать много информации и документов, которые связаны с настройкой и оптимизацией высоконагруженных веб-приложений.
В ходе реализации проектов я заметил, что не существует сводного документа с инструкциями по оптимизации работы приложения, поэтому решил поделиться нашим опытом. Этот доклад может послужить в качестве дорожной карты (Road Map) для настройки и оптимизации J2EE веб-приложений.
В докладе будут рассмотрены следующие аспекты:
1) Общие подходы и методология оптимизации веб-приложения.
2) Оптимизация настроек веб-сервера.
3) Оптимизация кода приложения на стороне клиента.
4) Оптимизация на стороне middleware, в том числе на сервере приложений.
5) Оптимизация на уровне Базы Данных.
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
Недавно запустили новый сайт Тинькофф.
У нас есть желание поделиться с аудиторией подходом и опытом разработки большого изоморфного приложения на React.js и Flux. Меньше чем за год мы разработали новый сайт и интернет-банк, заложив платформу на ближайшие несколько лет для быстрой разработки фронтенда новых продуктов.
Сейчас tinkoff.ru насчитывает более 3000 компонентов и сотни страниц.
Как мы ускоряли WebGL / Мстислав Живодков (2GIS)Ontico
Если вы захотите сделать веб-приложение с использованием технологии WebGL, скорее всего, вы захотите также, чтобы это приложение было отзывчивым и быстро работало даже на медленных компьютерах.
Но если вы простой фронтендер, занимаетесь js, html и css, то 3D-графика для вас покажется совершенно иным миром со своими законами. Так это случилось с нами во время разработки нашего продукта.
Поэтому в докладе я хочу рассказать:
1. О новых проблемах, с которыми мы столкнулись по вине WebGL;
2. О различных методах оптимизации, которые мы успешно и не очень опробовали на проекте, а также наглядно показать их действие на рабочих примерах;
3. Приведу другие способы ускорения, до которых у нас пока ещё просто не добрались руки.
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...Yandex
Производительность на стороне клиента богатая проблемная область. Быстрый ответ фронтенда никак не гарантирует, что страницы вашего сервиса будут грузиться с приемлемой скоростью у конечного пользователя. Оптимизации стилей и скриптов не позволяют узнать насколько они улучшили общую производительность страницы целиком. Быстрая загрузка страницы не гарантирует ее быструю отрисовку.
Мы сосредоточили свои усилия на измерении скорости отрисовки страницы так, как ее видит конечный пользователь. Рассказ о причинах выбора такого подхода, его плюсах и минусах.
Все знакомы с различными способами ускорения загрузки страницы. Эта тема уже давно исследована. Но в обычной ситуации при выпуске новой версии сайта у пользователя сбрасывается кеш, и ему приходится заново загружать все статические ресурсы, что увеличивает время загрузки страницы. Как сделать так, чтобы пользователь скачивал только действительно изменившиеся ресурсы? В докладе речь идет о простом, но мощном опенсорсном инструменте borschik (https://github.com/veged/borschik), который поможет ускорить загрузку в условиях постоянных релизов.
Comparing Drupal CMS with Raw PHP coding. Presentation for AISEC conference ItEvent09 - http://aiesec-if.in.ua/news/88-it-event-anounce
inspired by Drupal Camp 2009 (http://camp09.drupal.ua/)
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
Взглянем ещё раз на концепцию изоморфных приложений. На первый взгляд, всё красиво — полный порядок, высокая организованность, быстрая выдача результата. Но так ли всё оптимистично? Что случится после того, как мы развернём приложение на сервере? Почему при росте нагрузки наше React-приложение начинает тормозить? Как масштабироваться? Купить ещё несколько серверов? Потом ещё немного? Есть способ лучше.
В рамках доклада рассмотрим следующие темы:
1. Что представляют собой изоморфные приложения?
2. Зачем они на самом деле нужны?
3. Рассмотрим варианты архитектуры.
4. Найдём слабые места (bottleneck).
5. Посмотрим на способы решения и оценим их эффективность.
6. Обсудим возможности масштабирования изоморфных приложений.
7. И, самое главное, ответим на вопрос — стоит ли игра свеч?
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...GeeksLab Odessa
Быстродействие веб-сайта. Методичный анализ и глубины клиентской оптимизации.
Евгений Котельницкий
Что влияет на производительность; средства анализа показателей; правильно определяем цели и задачи; глубины клиентской оптимизации; анализ нескольких сайтов, которые назовёт аудитория.
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)Ontico
1. Типы шаблонизаторов DOM/innerHTML.
2. Внутренности AngularJS и почему он тормозит.
3. Внутренности ReactJS и почему он тормозит.
4. Менее раскрученные решения Blaze/PaperclipJS/Riot и что там сделано лучше.
5. Плюсы и минусы virtualdom.
6. Работа с DOM может быть быстрее, если:
6.1 Использовать одни и те-же участки DOM несколько раз.
6.2 Сокращать количество reflow с DocumentFragment.
6.3 Быстрое создание повторяющихся участков DOM с помощью cloneNode.
6.4 Создавать куски DOM ahead of time.
7. Встречаем temple - шаблонизатор, работающий в разы быстрее reactjs и не требующий загрузки 40k библиотеки времени исполнения.
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Andrey Taritsyn
Возможно, многие из вас уже слышали или читали о модульном расширении для Microsoft ASP.NET Web Optimization Framework — Bundle Transformer. Обычно я рассказываю о данном продукте на примере ASP.NET MVC, но в этот раз я решил поступить по-другому и построил свой доклад на примере использования Bundle Transformer на сайте ASP.NET Web Pages.
«Композитный сайт. Ускорение отдачи сайта в 100 раз» Гузель Рахимова
Автор: Валерия Алексеева, веб-разработчик компании "Центр Высоких Технологий".
Уникальная технология производства сайтов объединяет в себе высокую скорость загрузки статического сайта и все возможности динамического сайта. Пользователь мгновенно получает контент страницы.
Алексей Андросов "Тотальная заморозка = быстрая загрузка"Yandex
Все знакомы с различными способами ускорения загрузки страницы. Эта тема уже давно исследована. Но перед каждым проектом встает вопрос: а как жить в условиях постоянных релизов, когда пользователям приходится часто скачивать обновленный код? Как уменьшить объем загрузки или оптимизировать процесс, чтобы частые релизы не сильно увеличивали время загрузки? В докладе пойдет речь о том, как можно грузить файлы по хэшу от контента, а не по урлу с версией, какие инструменты для этого есть и как измерять эффективность этих способов.
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
РИТ++ 2017, HighLoad Junior
Зал Сингапур, 5 июня, 12:00
Тезисы:
http://junior.highload.ru/2017/abstracts/2688.html
Современные приложения часто используют большое количество памяти, ещё чаще разработчики не задумываются, как именно приложение работает с памятью, и откуда она берётся. Просим ядро дать кусок памяти и начинаем с ним что-то делать... Но что за память нам выделяет ядро операционной системы? Память на самом деле виртуальная и делится на единицы, называемые страницами. Страницы бывают маленькими, бывают большими и очень большими.
...
Как мы ускоряли WebGL / Мстислав Живодков (2GIS)Ontico
Если вы захотите сделать веб-приложение с использованием технологии WebGL, скорее всего, вы захотите также, чтобы это приложение было отзывчивым и быстро работало даже на медленных компьютерах.
Но если вы простой фронтендер, занимаетесь js, html и css, то 3D-графика для вас покажется совершенно иным миром со своими законами. Так это случилось с нами во время разработки нашего продукта.
Поэтому в докладе я хочу рассказать:
1. О новых проблемах, с которыми мы столкнулись по вине WebGL;
2. О различных методах оптимизации, которые мы успешно и не очень опробовали на проекте, а также наглядно показать их действие на рабочих примерах;
3. Приведу другие способы ускорения, до которых у нас пока ещё просто не добрались руки.
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...Yandex
Производительность на стороне клиента богатая проблемная область. Быстрый ответ фронтенда никак не гарантирует, что страницы вашего сервиса будут грузиться с приемлемой скоростью у конечного пользователя. Оптимизации стилей и скриптов не позволяют узнать насколько они улучшили общую производительность страницы целиком. Быстрая загрузка страницы не гарантирует ее быструю отрисовку.
Мы сосредоточили свои усилия на измерении скорости отрисовки страницы так, как ее видит конечный пользователь. Рассказ о причинах выбора такого подхода, его плюсах и минусах.
Все знакомы с различными способами ускорения загрузки страницы. Эта тема уже давно исследована. Но в обычной ситуации при выпуске новой версии сайта у пользователя сбрасывается кеш, и ему приходится заново загружать все статические ресурсы, что увеличивает время загрузки страницы. Как сделать так, чтобы пользователь скачивал только действительно изменившиеся ресурсы? В докладе речь идет о простом, но мощном опенсорсном инструменте borschik (https://github.com/veged/borschik), который поможет ускорить загрузку в условиях постоянных релизов.
Comparing Drupal CMS with Raw PHP coding. Presentation for AISEC conference ItEvent09 - http://aiesec-if.in.ua/news/88-it-event-anounce
inspired by Drupal Camp 2009 (http://camp09.drupal.ua/)
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
Взглянем ещё раз на концепцию изоморфных приложений. На первый взгляд, всё красиво — полный порядок, высокая организованность, быстрая выдача результата. Но так ли всё оптимистично? Что случится после того, как мы развернём приложение на сервере? Почему при росте нагрузки наше React-приложение начинает тормозить? Как масштабироваться? Купить ещё несколько серверов? Потом ещё немного? Есть способ лучше.
В рамках доклада рассмотрим следующие темы:
1. Что представляют собой изоморфные приложения?
2. Зачем они на самом деле нужны?
3. Рассмотрим варианты архитектуры.
4. Найдём слабые места (bottleneck).
5. Посмотрим на способы решения и оценим их эффективность.
6. Обсудим возможности масштабирования изоморфных приложений.
7. И, самое главное, ответим на вопрос — стоит ли игра свеч?
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...GeeksLab Odessa
Быстродействие веб-сайта. Методичный анализ и глубины клиентской оптимизации.
Евгений Котельницкий
Что влияет на производительность; средства анализа показателей; правильно определяем цели и задачи; глубины клиентской оптимизации; анализ нескольких сайтов, которые назовёт аудитория.
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)Ontico
1. Типы шаблонизаторов DOM/innerHTML.
2. Внутренности AngularJS и почему он тормозит.
3. Внутренности ReactJS и почему он тормозит.
4. Менее раскрученные решения Blaze/PaperclipJS/Riot и что там сделано лучше.
5. Плюсы и минусы virtualdom.
6. Работа с DOM может быть быстрее, если:
6.1 Использовать одни и те-же участки DOM несколько раз.
6.2 Сокращать количество reflow с DocumentFragment.
6.3 Быстрое создание повторяющихся участков DOM с помощью cloneNode.
6.4 Создавать куски DOM ahead of time.
7. Встречаем temple - шаблонизатор, работающий в разы быстрее reactjs и не требующий загрузки 40k библиотеки времени исполнения.
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Andrey Taritsyn
Возможно, многие из вас уже слышали или читали о модульном расширении для Microsoft ASP.NET Web Optimization Framework — Bundle Transformer. Обычно я рассказываю о данном продукте на примере ASP.NET MVC, но в этот раз я решил поступить по-другому и построил свой доклад на примере использования Bundle Transformer на сайте ASP.NET Web Pages.
«Композитный сайт. Ускорение отдачи сайта в 100 раз» Гузель Рахимова
Автор: Валерия Алексеева, веб-разработчик компании "Центр Высоких Технологий".
Уникальная технология производства сайтов объединяет в себе высокую скорость загрузки статического сайта и все возможности динамического сайта. Пользователь мгновенно получает контент страницы.
Алексей Андросов "Тотальная заморозка = быстрая загрузка"Yandex
Все знакомы с различными способами ускорения загрузки страницы. Эта тема уже давно исследована. Но перед каждым проектом встает вопрос: а как жить в условиях постоянных релизов, когда пользователям приходится часто скачивать обновленный код? Как уменьшить объем загрузки или оптимизировать процесс, чтобы частые релизы не сильно увеличивали время загрузки? В докладе пойдет речь о том, как можно грузить файлы по хэшу от контента, а не по урлу с версией, какие инструменты для этого есть и как измерять эффективность этих способов.
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
РИТ++ 2017, HighLoad Junior
Зал Сингапур, 5 июня, 12:00
Тезисы:
http://junior.highload.ru/2017/abstracts/2688.html
Современные приложения часто используют большое количество памяти, ещё чаще разработчики не задумываются, как именно приложение работает с памятью, и откуда она берётся. Просим ядро дать кусок памяти и начинаем с ним что-то делать... Но что за память нам выделяет ядро операционной системы? Память на самом деле виртуальная и делится на единицы, называемые страницами. Страницы бывают маленькими, бывают большими и очень большими.
...
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...Andrey Taritsyn
Сначала мы поговорим о том, зачем нужна HTML-минификация, о ее почти 20-летней истории и эволюции программных средств, автоматизирующих данный процесс. Затем о WebMarkupMin и его модулях. Рассмотрим примеры его использования в ASP.NET Core и ASP.NET 4.X. Измерим эффективность минификации с помощью WebMarkupMin. Перечислим известные программные продукты и веб-сайты, которые его используют. А также рассмотрим альтернативные решения для .NET и ASP.NET.
Видео-запись доклада доступна на YouTube - https://www.youtube.com/watch?v=jmPkUD_SDOk
Владимир Кузнецов — Прототип сайта: разработка и развёртываниеYandex
Фронтенд-разработчики уверенно движутся в сторону систем сборки проектов. Даже если это вёрстка всего лишь нескольких страниц, то генерация HTML из фрагментов и раскладок избавит от рутинного копирования кода. А лёгкий и непринуждённый деплой проекта на сервер позволит регулярно показывать заказчику готовые части и быстрее получать обратную связь.
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
Основы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"Yandex
Рассказ о том, как писать декларативный объектно-ориентированный JavaScript в БЭМ-терминах. Демонстрируются возможности блока i-bem из opensource библиотеки bem-bl для написания собственных блоков.
7. Конкатенация
У нас
Some1.js
Some2.js
Some3.js
Нужно
MegaSome.js
VETMANAGER TEAM 12.4.12 Стр. 7
8. 2. CSS мне в HEAD
Помещая подключение к css файлам в хедере
страницы мы получаем постепенный
рендеринг страницы
VETMANAGER TEAM 12.4.12 Стр. 8
9. 3. JS мне в ...
Помещая javascript-файлы вниз страницы мы
позволяем браузеру загрузить страницу с
контентом в первую очередь, а уже потом
начать загрузку javascript-файлов.
VETMANAGER TEAM 12.4.12 Стр. 9
10. 4. Минификация
1) Удаляем все не влияющие на поведение и
отображение символы.
2) Заменяем длинные выражения(none ->0)
3) Оптимизируем размер через анализ
поведения.
VETMANAGER TEAM 12.4.12 Стр. 10
12. 6. Кэш броузера
Настроив apache мы экономим время и
трафик пользователя
VETMANAGER TEAM 12.4.12 Стр. 12
13. 7. CDN для контента
CDN (Content Delivery Network) — это
множество веб-серверов, разнесенных
географически для достижения
максимальной скорости отдачи контента
клиенту.
VETMANAGER TEAM 12.4.12 Стр. 13
14. 8. Gzip - сжатие
Коэффициент сжатия приблизительно равен
5-ти но повышается нагрузка на сервер.
VETMANAGER TEAM 12.4.12 Стр. 14
15. 9. Вынос inline скриптов
Плюсы
Кешируемость
Повторное использование
Возможность убрать неиспользуемые
скрипты
VETMANAGER TEAM 12.4.12 Стр. 15
16. 10. Лишний контент
Мертвый CSS, JS
CSS, JS с других страниц
Комментарии
Постраничная навигация
VETMANAGER TEAM 12.4.12 Стр. 16
17. 11. Размер компонент
Компоненты большого размера не
кешируются некоторыми браузерами.
Для iPhone оптимальный размер компонента
до 25 килобайт.
VETMANAGER TEAM 12.4.12 Стр. 17