Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Andrew Minkin
ы начали делать проект и запустили его в продакшн. Со временем пользователей становится больше и текущих ресурсов вам начинает не хватать. В этом докладе я расскажу о основных путях борьбы с нагрузкой, путях решения и проблемах, связанных с ними.
В докладе мы поговорим о:
0. Что такое нагрузка? Пути борьбы с нагрузкой. Оптимизация кода, кеширование, масштабирование
1. Какие проблемы возникают при внедрении кеширования
2. Как оценивать качество работы кеширования?
3. Путь масштабирования и борьба за ресурсы
4. Проблемы балансировки
5. Проблемы БД. Конкурентный доступ и данным и целостность их
Пути решения проблем будут на примере Python/Django
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10OdessaFrontend
Можно ли получить заветные 100 баллов в PageSpeed Insights, хорошо индексироваться и всё это без AMP? Легко! Дмитрий Шевченко рассказывает как этого достичь и познакомит с инструментом для проверки скорости сайта.
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Andrew Minkin
ы начали делать проект и запустили его в продакшн. Со временем пользователей становится больше и текущих ресурсов вам начинает не хватать. В этом докладе я расскажу о основных путях борьбы с нагрузкой, путях решения и проблемах, связанных с ними.
В докладе мы поговорим о:
0. Что такое нагрузка? Пути борьбы с нагрузкой. Оптимизация кода, кеширование, масштабирование
1. Какие проблемы возникают при внедрении кеширования
2. Как оценивать качество работы кеширования?
3. Путь масштабирования и борьба за ресурсы
4. Проблемы балансировки
5. Проблемы БД. Конкурентный доступ и данным и целостность их
Пути решения проблем будут на примере Python/Django
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10OdessaFrontend
Можно ли получить заветные 100 баллов в PageSpeed Insights, хорошо индексироваться и всё это без AMP? Легко! Дмитрий Шевченко рассказывает как этого достичь и познакомит с инструментом для проверки скорости сайта.
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/)
Битва за миллисекунды: практика ускорения веб сайтовindex.art
Как сделать сайт отзывчивее для пользователей, как ускорить появление контента на сайте чтобы пользователь не уходил с сайта, так и не дождавшись его появления.
Подготовили:
Лис Анастасия
Белоусова Анна
Ладутько Виктория
Лустенков Егор
ТОП-3:
1. Google Chrome
2. Mozilla Firefox
3. Opera
Ссылка на документ:
https://docs.google.com/spreadsheets/d/1HHCYtAqEWZEV3SY7ITmUgJgPK5kn20HWmkLxJToPwVI/edit#gid=1971600642
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/)
Битва за миллисекунды: практика ускорения веб сайтовindex.art
Как сделать сайт отзывчивее для пользователей, как ускорить появление контента на сайте чтобы пользователь не уходил с сайта, так и не дождавшись его появления.
Подготовили:
Лис Анастасия
Белоусова Анна
Ладутько Виктория
Лустенков Егор
ТОП-3:
1. Google Chrome
2. Mozilla Firefox
3. Opera
Ссылка на документ:
https://docs.google.com/spreadsheets/d/1HHCYtAqEWZEV3SY7ITmUgJgPK5kn20HWmkLxJToPwVI/edit#gid=1971600642
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :)
С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.
В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaSveta Smirnova
MySQL всегда использовали под высокой нагрузкой. Недаром эта база была и остаётся самым популярным бэкэндом для web. Однако наши представления о хайлоде с каждым годом расширяются. Большая скорость передачи данных -> больше устройств с подключением к интернет -> больше пользователей -> больше данных.
Задачи, стоящие перед разработчиками MySQL, с каждым годом усложняются.
В этом докладе я расскажу как менялись сценарии использования MySQL за [почти] 25 лет её истории и что делали инженеры, чтобы MySQL оставалась актуальной. Мы затронем такие темы, как работа с большим количеством активных соединений и высокими объёмами данных. Я покажу насколько современные версии лучше справляются с возросшими нагрузками.
Я надеюсь, что после моего доклада те слушатели, которые используют старые версии, захотят обновиться и те, кто уже обновились, узнают как использовать современный MySQL на полную мощность.
Прочитана на конференции OST 2020: https://ostconf.com/materials/2857#2857
Доклад от Parallels:
Методики тестировния производительности database-centric приложений
Описание: При работе над сложными продуктами в database-centric приложениях изменения в коде и тем более в SQL запросах к базе данных могут приводить к неожиданным падениям производительности или же деградации производительности приложения с ростом размера базы данных. Поэтому важно уметь как можно быстрее отлавливать и исправлять причины таких деградаций.
Доклад о том, как устроен процесс мониторинга производительности продукта автоматизации хостинга и облачных сервисов Parallels Automation, для которого определяющим фактором является производительность базы данных.
Компания покажет, как анализирует планы исполнения SQL запросов внутри PostgreSQL, как проверяет насколько быстро и эффективно в целом работают SQL запросы, как определяет стратегию дальнейшей оптимизации.
В лекции мы попробуем взглянуть на страницу глазами пользователей и понять, что можно сделать для ускорения ее загрузки. Рассмотрим основные оптимизации на стороне браузера, познакомимся с инструментами для измерения времени отображения.
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Ontico
Масштабирование — способность наращивать систему для обработки большего количества трафика, не теряя при этом пользовательские качества: скорость и отзывчивость.
Масштабирование различают двух типов: вертикальное (больше памяти, диска, лучше процессор) и горизонтальное (больше серверов в кластере).
- Зачем оно нужно, если и так всё работает?
- Когда? Мониторинг, необдуманные решения, оптимизация и жизнь с одним сервером.
- Типичная схема.
- Балансировка нагрузки.
- Какие, вообще, проблемы на стороне приложения?
- Почему PHP так хорош для масштабирования.
- Сессии.
- База данных.
- Файлы.
- Как быть со статистикой?
Drupal - Changing the Web by Connecting Open Minds - Josef DabernigDrupalCampDN
This document provides an overview of Drupal, including its history, community, features, and Drupal 8 updates. Some key points:
- Drupal is an open source content management system with a large, active community that has grown significantly since 2005.
- Drupal 8 is a major update that focuses on modernizing the codebase, improving performance, and adding new features like a responsive image module and improved multilingual support. Over 1,600 people contributed to Drupal 8.
- The Drupal community extends beyond code contributions - there are many ways for individuals and organizations of all skill levels to get involved through documentation, support, events, and more. Contributing back helps both Drupal and contributors
Dependency Injection in Drupal 8 - Стадник АндрейQweqweDrupalCampDN
Попытаемся разобраться что же это такое Dependency Injection, зачем он нужен в Друпале 8. А также создадим свой супер-пупер сервис с Black Jack'ом и тестами.
Catalyst IT is one of Australia's largest open source software houses. We are all about using the awesome array of tools at our disposal from the FOSS (Free and Open Source) spectrum.
In Nov 2012, Catalyst was engaged by a major Australian university to help them pioneer an Australian MOOC (Massive Open Online Course) application - Open2Study.com
From the outset, the application was to be hosted on AWS (Amazon Web Services). Catalyst had experience with applications on AWS but the scale and business requirements of Open2Study meant there was a lot for us to learn and master throughout the build and deployment.
The application is a customised extension of Drupal, Moodle and simpleSAMLphp.
Moodle is an open source LMS (Learning Management System)
Coming from a background of deployment onto both physical and virtual hardware, Catalyst was used to working within the confines of various linux environments.
Building and deploying our application into a full AWS environment gave us a great opportunity to get to grips with the power and challenges associated with Amazon's infrastructure-as-a-service offering.
Guzzle in Drupal 8 and as a REST client - Артем МирошникDrupalCampDN
Забудьте о drupal_http_request, pure curl, file_get_contents либо подобные устаревшие подходы!
http://docs.guzzlephp.org/ - фреймворк для работы с HTTP запросами, удобный способ создавать REST web service клиенты, просто отличная абстракция над curl.
Blocks & Layouts in D7 - Josef DabernigDrupalCampDN
Drupal 7 site builders are presented with a variety of tools to create complex layouts. In this session, I will talk about our in-house tool-chain at drunomics for building sites with dynamic layouts.
CKEditor в Drupal: тонкая настройка и кастомизация - Osman SeferovDrupalCampDN
Среди большого количества WYSIWYG редакторов, начинающему разработчику достаточно сложно выделить действительно мощный и удовлетворяющий всем требованиям инструмент. В своём докладе я расскажу о CKEditor и поделюсь собственным опытом использования, настройки и кастомизации под определённые нужды.
Drush - use full power - Alexander SchedrovDrupalCampDN
Drush - незаменимый инструмент для Drupal разработчика. Если вы досихпор не используете этот замечательный инструмент либо пользуетесь только малой частью команд - этот доклад будет очень полезен для вас.
Это Drupal, %username%! - Андрей ЧерноусDrupalCampDN
Цель доклада - заинтересовать начинающих разработчиков. Я расскажу немного обо всем: история, развития, с чего лучше начать новичку. Будут рассмотрены основные возможности и как их применять на практике. Рассмотрим пошаговый пример создания небольшого сайта.
Рассмотрим сам фреймворк, определим основные юзкейсы использования, базовые требования для использования, а так же посмотрим на код на примере миграции Drupal 7 - Drupal 7. Думаю так же доклад будет интересен для всех, кто планирует использовать будущий релиз Drupal, ввиду того, что Migrate частично мигрировал в ядро и будет инструментом по умолчанию для апгрейда не только с 7 версии, но и с 6(возможно даже с 5!!!).
Caching on highload Drupal site - Alexander ShumenkoDrupalCampDN
Рассмотрим создание тегированной системы кеширования сущностей для high load сайта на Drupal. В ходе доклада будут рассмотрены наиболее интересные моменты реализации (построение цепочки тегов) так же рассмотрены проблемы и способы их решения.
Доклад будет посвящён вопросам редактирования медиа-насыщенного текста в Друпале. Как настроить стили текста и визуальные редакторы таким образом, чтобы внешний вид сайта выглядел цельно, а у редакторов содержания не вызывал изумления результат их трудов? Как сочетать возможности редактирования и безопасность? Как управлять картинками и видео на сайте в зависимости от его характера (информационный портал, форум, магазин)? Почему существует множество модулей для решения каждой отдельной задачи (визуальные редакторы, управление медиа) и как они взаимодействуют?
По замыслу автора доклада, он должен закончится хеппи-эндом: будут приведены рецепты решения для наиболее типичных задач.
May the parallelity be with you! Distributed computing using Erlang language ...DrupalCampDN
Small session about distributed programming in general and using of Erlang language in particular. Includes example of usage implemented as Symfony framework bundle.
Panels как философия - Alexander DanilenkoDrupalCampDN
Drupal не был бы столь популярной CMS без мощи таких модулей, как Views и Panels. Использование последнего будет рассмотрено со всех сторон, будут рассказаны лучшие практики использования, а так же практические примеры. Расскажу о принципе построения проектов, к которому со временем пришёл и который стал для меня универсальной основой для построения практически любого функционала на Drupal.
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalCampDN
Рано или поздно каждый сайт нуждается в мобильной версии. Существует несколько способов реализации мобильной версии: адаптивный сайт, нативное приложение для iOS, Android etc.
В создании нативного приложения нам поможет отличная платформа под названием DrupalGap. DrupalGap - это платформа позволяющая создавать приложения для iOS и Android при помощи Drupal, PhoneGap, jQueryMobile, без непосредственного программирования на языке платформы.
This document provides an overview of the Twig templating engine. It begins with introducing Twig and its advantages over traditional PHP templates. It then covers basic Twig syntax like variables, control structures, filters, tests, and extensions. The document explains how to extend templates through inheritance, includes, and macros. It also discusses creating custom Twig extensions and tags. Finally, it notes that Twig compiles templates to optimized PHP code for speed and has a sandbox mode for security when evaluating untrusted templates.
This session will deliver insight into how a Commerce shop can be built to sell geodetic satellite data.
An aerospace company builds compact and lightweight satellites which collect earth observation data. This data are sold through a shop built with Drupal Commerce.
Some of the technical challenges:
- how Commerce products can be made configurable for customers by drawing their areas of interest in an Open Layers Map
- how sophisticated geographical computations can be integrated into Drupal by using PostGIS functions
- how incompatibilities between Drupal caching and the Open Layers Drawing tools were overcome
Boost your theming skills - Artem ShymkoDrupalCampDN
Больше количество изменений в сфере темизации конечно же оказывают влияние на то, как происходит теминг сайтов на Drupal.
Less, Sass, Grunt, Compass, LiveReload, множество новых фич и тулз, среди которых уже можно запутаться, но с которыми многие повседневные задачи превращаются в минутное дело.
Я попробую выбрать наиболее интересные инструменты, которыми мы пользуемся в своих проектах. Наглядно показать как быстро и легко поднять SASS или LESS и начать работу имея в рукаве карту с кучей полезностей :)
The document discusses the Rules module in Drupal, which allows site builders to automatically trigger actions based on events. It provides examples of using Rules to flag spam comments, unpublish them, and notify moderators. Additional modules like Views Bulk Operations and Flag are recommended for expanding Rules functionality. Performance comparisons show Rules incurs a small overhead compared to custom code. Rules is recommended for its flexibility and ease of use compared to writing custom code.