Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. После 3 суток недоступности портала нам пришлось изобрести схему, которая бы физически ограничивала возможность повторения катастрофы. Схема включает в себя тестирование политик на тестовых серверах различной важности и конфигурации. "Маринование" в этой тестовой среде сопровождается автоматизированным контролем характеристик нагрузки этих серверов. Далее происходит обязательный ревью и плавное распространение последовательно по всем датацентрам.
В докладе будет рассказано:
1. почему мы выбрали CFEngine, а не Chief или Puppet;
2. как мы научили CFEngine быть дружелюбным (примеры политик и выдержки из библиотеки);
3. 100500 предпринятых мер, что бы не повторить "день 404" и соблюсти баланс между безопасностью и удобством;
4. как ещё можно использовать системы управления серверами.
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. После 3 суток недоступности портала нам пришлось изобрести схему, которая бы физически ограничивала возможность повторения катастрофы. Схема включает в себя тестирование политик на тестовых серверах различной важности и конфигурации. "Маринование" в этой тестовой среде сопровождается автоматизированным контролем характеристик нагрузки этих серверов. Далее происходит обязательный ревью и плавное распространение последовательно по всем датацентрам.
В докладе будет рассказано:
1. почему мы выбрали CFEngine, а не Chief или Puppet;
2. как мы научили CFEngine быть дружелюбным (примеры политик и выдержки из библиотеки);
3. 100500 предпринятых мер, что бы не повторить "день 404" и соблюсти баланс между безопасностью и удобством;
4. как ещё можно использовать системы управления серверами.
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Alexey Kostin
Презентация к докладу Алексея Костина Drupal CIS 2013 в Москве — «Что, зачем и каким образом следует проверять и тестировать перед запуском сайта на Drupal в публичную эксплуатацию»
Опыт построения СХД на базе Windows Server для использования в публичном обла...Ontico
В докладе мы поделимся опытом, полученным в ходе создания публичного облака, построенного на базе продуктов Microsoft. В частности, речь пойдет о построении программно-определяемой системы хранения данных на основе технологии Storage Spaces. Основное предназначение полученной СХД объемом около 80ТБ - использование в кластере Hyper-V для запуска порядка 5000 ВМ.
Мы рассмотрим архитектуру хранилища, проблемы снижения latency сетевого трафика, а также подходы повышения производительности при создании пулов и использовании кэша. Кроме того, буду затронуты вопросы тестирования производительности и сценарии миграции на Storage Spaces Direct.
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Tanya Denisyuk
Наша рекламная сеть прошла путь от 1М до 150M показов в сутки. На этом пути пришлось столкнуться с проблемами при логировании и анализе больших объемов данных. В итоге отказались от использования NonSQL базы данных и выбрали column-based InfoBright. В своем докладе я расскажу, как мы накапливаем, храним, обрабатываем и анализируем сотни гигабайт информации в день c использованием InfoBright.
Сергей Аверин "Распространенные ошибки применения баз данных"Tanya Denisyuk
Выбор хранилища данных — сложная задача, с которой часто сталкиваются разработчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
Что нового в 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 вместе и разбираем на примерах.
Веб-приложения бывают разные: от сайтов-визиток небольших компаний или персональных блогов, до известных социальных сетей и популярных интернет-магазинов, обслуживающих миллионы пользователей по всему миру. Как устроены сложные веб-приложения «под капотом», за счет чего они выдерживают высокие нагрузки и как строится взаимодействие пользователя с такими нетривиальными веб-приложениеми, мы рассмотрим в докладе.
Опыт построения СХД на базе Windows Server для использования в публичном обла...Ontico
В докладе мы поделимся опытом, полученным в ходе создания публичного облака, построенного на базе продуктов Microsoft. В частности, речь пойдет о построении программно-определяемой системы хранения данных на основе технологии Storage Spaces. Основное предназначение полученной СХД объемом около 80ТБ - использование в кластере Hyper-V для запуска порядка 5000 ВМ.
Мы рассмотрим архитектуру хранилища, проблемы снижения latency сетевого трафика, а также подходы повышения производительности при создании пулов и использовании кэша. Кроме того, буду затронуты вопросы тестирования производительности и сценарии миграции на Storage Spaces Direct.
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Tanya Denisyuk
Наша рекламная сеть прошла путь от 1М до 150M показов в сутки. На этом пути пришлось столкнуться с проблемами при логировании и анализе больших объемов данных. В итоге отказались от использования NonSQL базы данных и выбрали column-based InfoBright. В своем докладе я расскажу, как мы накапливаем, храним, обрабатываем и анализируем сотни гигабайт информации в день c использованием InfoBright.
Сергей Аверин "Распространенные ошибки применения баз данных"Tanya Denisyuk
Выбор хранилища данных — сложная задача, с которой часто сталкиваются разработчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
Что нового в 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 вместе и разбираем на примерах.
Веб-приложения бывают разные: от сайтов-визиток небольших компаний или персональных блогов, до известных социальных сетей и популярных интернет-магазинов, обслуживающих миллионы пользователей по всему миру. Как устроены сложные веб-приложения «под капотом», за счет чего они выдерживают высокие нагрузки и как строится взаимодействие пользователя с такими нетривиальными веб-приложениеми, мы рассмотрим в докладе.
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
Каждый разработчик web приложений рано или поздно сталкивается с довольно типичной проблемой: перед ним стоит задача построить фабрику по производству омнониевых торсиометров.
Фабрика производит омнониевые торсиометры очень быстро, но для калибровки прибора (как известно) необходим омноний, за которым приходится летать на Андромеду.
Пока корабль летит до Андромеды, фабрика простаивает.
Самый очевидный выход из ситуации - построить склад омнониума прямо рядом с фабрикой.
Терминология кэширования
Выбор места для кэширования в WEB
Выбор данных для кэширования
Кэширование на стороне бэкенда
Отдельный кэширующий сервис
Пара слов о memcached
Пара слов о Redis
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMSYandex
Сервис Яндекс.Вебмастер помогает улучшить представление сайта в поиске Яндекса. API сервиса можно использовать для того, чтобы отображать информацию об индексировании в администраторском интерфейсе CMS. В рамках презентации рассказано о шагах, которые необходимо выполнить при написании соответствующего плагина к CMS.
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюринpgdayrussia
Доклад был представлен на официальной российской конференции PG Day'14 Russia, посвященной вопросам разработки и эксплуатации PostgreSQL.
С момента старта проекта на PostgreSQL были возложены серьёзные задачи. Это во многом предопределило успешное развитие всего продукта. Вокруг СУБД выстроены основные компоненты архитектуры, при этом сами базы берут на себя львиную долю обработки пользовательских запросов. Набор фич и расширений, легендарная надёжность PostgreSQL, наличие встроенной репликации, средств резервирования и архивирования — весь потенциал нашел своё воплощение, а наличие открытого профессионального комьюнити не оставляет шансов к неэффективной реализации.
В докладе будет дан обзор развития подсистем, сосредоточенных вокруг PostgreSQL, представлены параметры и режимы функционирования. Будут описаны успешные решения в рамках отдельного PostgreSQL-кластера и при распределенной обработке данных, приведены текущие вызовы, связанные с продолжающимся активным ростом проекта.
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
Окружение JavaScript, наверно, самая быстроразвивающаяся отрасль в мире разработки программного обеспечения. Все слышали шутку про книгу “36 новых JavaScript фреймворков, выпущенных в марте”, и это не далеко от правды.
В своем обзорном докладе я расскажу о своем пути во frontend. О том, как вижу современную индустрию, о существующих проблемах и путях их решения. Все не так уж радужно, как может показаться. Надеюсь, мой доклад позволит вам взглянуть на мир JavaScript с другой стороны или, по крайней мере, задуматься о том, в правильном ли направлении вы движетесь?
Доклад с конференции D2D Pizza JS - http://dev2dev.ru/events/8/
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
Рассказ об основных принципах, которых придерживается Viber в длительной разработке приложения с большой кодовой базой — если разработкой занимается распределённая команда. Мы обсудим используемые технологии, библиотеки, работу с кодом и многое другое.
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...Ontico
NginX является фундаментальным элементом практически в любом проекте.
Сегодня многие умеют NginX конфигурировать, писать lua скрипты, использовать как proxy. Другими словами, решать задачи, не выходя за рамки nginx.conf, и в большинстве случаев этого достаточно.
Но с ростом проекта или в рамках некой бизнес-задачи может появиться необходимость в NginX-модуле. И тут возникают вопросы и проблемы:
- Как писать NginX-модули?
- Какие есть особенности?
- Как деплоить?
- Почему нет примеров, а существующие устаревшие?
В этом докладе я расскажу об особенностях разработки под NginX.
Начнем с особенностей memory model, фаз обработки запроса/контента, а закончим ответом на вопрос: "А когда нужен NginX-модуль?".
https://seleniumcamp.com/talk/webdriverio-puppeteer-double-gun-double-fun/
In the automation world, W3C Webdriver HTTP protocol has been successfully used for a long time. With its help, many projects and libraries in various languages have been implemented (selenide, protractor, webdriverio and thousands of others). But more and more teams decide to use Chrome Debug Protocol, in particular the Puppeteer tool. It is based on WebSockets, and has its own special features – two-way communication, ability to subscribe to events in the browser, and much more. In this talk, we will look at the capabilities of both protocols, experiment and combine them together in one project to make the browser work at full power, and take the best from both communication channels.
Similar to «Разработка и оптимизация высоконагруженного проекта» (20)
Аналитика требований в разрезе управления проектамиГузель Рахимова
В презентации показано о том, как влияет правильно проведенный анализ на успешность проекта, как проводить анализ и как это встраивается в процесс управления проектами.
«Композитный сайт. Ускорение отдачи сайта в 100 раз» Гузель Рахимова
Автор: Валерия Алексеева, веб-разработчик компании "Центр Высоких Технологий".
Уникальная технология производства сайтов объединяет в себе высокую скорость загрузки статического сайта и все возможности динамического сайта. Пользователь мгновенно получает контент страницы.
Автор: Валерия Алексеева, веб-разработчик компании "Центр Высоких Технологий".
Использование Highload-блоков в работе. Highload-блоки - модуль для работы с произвольными наборами данных в условиях высоких нагрузок.
«Сетевые протоколы для веб разработчика — выжимаем максимум» Гузель Рахимова
Автор: Александр Сербул, руководитель направления контроля качества и внедрений компании "1С-Битрикс".
Pасскажет об эффективной работе с сетевыми технологиями (tcp/ip, dns, tls, spdy, websockets, long polling, http 2.0) при разработке
6. Кеширование
• Не всегда можно использовать стандартный механизм
автокеширования
• Нужно кешировать не только HTML вывод
• Кешировать вспомогательные данные
12. Профилирование c XHProf
• Почти не создает нагрузки в продакшене
• Можно быстро найти корень проблемы
• Подключение
auto_prepend_file = "/var/www/auto_prepend.php"
auto_append_file = "/var/www/auto_append.php"
• либо через dbconn.php и событие OnAfterEpilog
13. В начале выполнения страницы
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
$GLOBALS["time_start"] = microtime(true);
14. В конце выполнения страницы
$time = microtime(true) - $GLOBALS["time_start"];
$xhprof_data = xhprof_disable();
$xhprofRootDirUtils = "/var/www/xhprof-0.9.4/xhprof_lib/utils/";
include_once $xhprofRootDirUtils . "xhprof_lib.php";
include_once $xhprofRootDirUtils . "xhprof_runs.php";
if ($time > 10) {
$xhprof_runs = new XHProfRuns_Default();
$prof_file_name = "time_" . intval($time) . "s_" .
preg_replace('/[^A-Za-z0-9_-]/', '_',
$_SERVER["REQUEST_URI"]);
$xhprof_runs->save_run($xhprof_data, $prof_file_name);
}
15.
16.
17.
18. Что еще оптимизировать?
• Подобрать время запуска фоновых задач
• Тяжелые задания запускать когда посещаемость минимальная