В списке заявок отображаются как принятые Программным комитетом доклады на конференцию HighLoad++ 2016, так и не принятые.
Также мы cформировали Программу++ — это программа митапов и небольших встреч, которую организуют сами участники фестиваля и всех его конференций. Вы предлагаете тему митапа, а организаторы подбирают для него площадку и зал.
Open source трибуна — это наш вклад в сообщество. Мы предоставили полностью оборудованный зал на площадке конференции, в котором у разработчиков open source было 20 минут, чтобы представить заинтересованным свою технологию или разработку. Прошедший отбор нашего Программного комитета докладчик мог участвовать в конференции бесплатно.
Посмотреть проекты Open Source трибуны
На HighLoad++ мы провели также сессию блиц-докладов (lightning talks). Это серия пятиминутных выступлений, идущих друг за другом с жёстким таймингом и без вопросов. Такой формат крайне хорошо подходит для выражения одной мысли или идеи. Блиц позволяет узнать — есть ли интерес к вашей теме.
* Поговорим о рисках, подстерегающих как стартапы, так и устоявшиеся компании, отсортировав их по степени важности. * Рассмотрим особенности cloud vs bare metal в контексте безопасности. * Подискутируем о технических методах обеспечения безопасности, постараемся внедрить безопасность не в ущерб хайлоаду.
С чем у вас ассоциируется получение информации об уязвимостях? Почтовые списки, рассылки вендоров, репорты сканеров информационной безопасности и огромное многообразие источников данных, включая даже индивидуально настроенные обновления на поисковые запросы в Google. Вы используете разные платформы, множество аппаратных решений и целый букет библиотек в зависимостях вашего кода. ...
За последние годы разными специалистами и компаниями (от Google до Сноудена) был проделан колоссальный объём работы с целью популяризации протокола SSL, а позже и TLS. Дорабатывались протоколы и шифры, обнаруживались десятки уязвимостей, криптографические библиотеки форкались и проводили аудиты, правозащитные фонды выдавали сотни миллионов сертификатов "забесплатно". В конце концов, TLS явочным порядком, в обход стандарта, стал обязательным для HTTP/2-серверов. ...
За последние годы мечты фантастов XX века стали реальностью: смартфоны, видеозвонки, виртуальная реальность и, наконец, Интернет вещей. К сожалению, у прогресса всегда есть темная сторона. Я думаю, ни для кого не секрет, что такие компании как Sony, Yahoo, Adobe, Target и многие другие столкнулись с проблемами безопасности в последние годы. ...
В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. ...
Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites). Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом. ...
Число запросов на показ рекламы и число рекламных кампаний постоянно растет. Начиная с 2013 года, мы наблюдаем рост этих показателей в десятки раз. Так как нагрузка на нашу систему пропорциональна произведению этих чисел, такой рост создает для нас множество сложных и интересных задач. ...
В этом докладе я расскажу о технических аспектах реализации системы аудиоотпечатков: — как мы к этому пришли, и что было раньше; — получение отпечатков из mp3; — хранение в имеющихся движках; — введение новых специализированных движков для индексации, поиска и сравнения; — взаимодействие с другими частями проекта; — профилирование и оптимизации; — несколько забавных и не очень ситуаций, со всем этим связанных. ...
У вас есть миллиард файлов произвольного или неизвестного формата. Как выявить даже частичные совпадения, если одни файлы могут включать другие полностью или частями? Как делать это, имея доступ только к потоку байтов без начала и конца? ...
За 15 лет разработки концепция немного поменялась и, начиная со Sphinx 3.0, мы теперь, если задуматься, вполне себе самостоятельная распределенная база (с фокусом на полнотекстовый поиск), а не только лишь добавочный к основному хранилищу поисковый движок. Порядка 2 лет уже пилим ряд больших внутренних переделок под флагом 3.0 и, вот, наконец-то, доделываем. (На момент подачи тезисов "наполовину" готов новый клевый формат индекса; к моменту проведения конференции рассчитываем выложить публично доступную альфу). ...
- Use cases: спутниковое TV; десятки тысяч мониторов в клиниках; медиапланирование в телевизионных сетях с десятком поставщиков данных о зрителях. - Еще кратко о том, почему появилось RTB, почему появились коннекторы между SSP и DSP (хорошо знаю про case 3 млн. транзакций в секунду), почему появились SSP и DSP "в одном флаконе". ...
Десятки миллионов пользователей просматривают Avito и публикуют почти миллион новых объявлений ежедневно. Сокращение времени появления новых объявлений в поиске - одна из важных задач сервиса. Команда поиска Avito провела в этом направлении ряд оптимизаций, значительно уменьшив время индексации, и, в качестве следующего шага, рассматривала вариант c Delta-индексами, но в результате оказалось возможным реализовать Real Time-индексы. ...
В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения. ...
Здесь мы поговорим о производительности в браузере, а особенно об производительных анимациях и внутреннем устройстве браузера. Основные тезисы выступления: - Что такое лаги, и почему они происходят. - Как браузер отрисовывает сайт. ...
Расскажем о системе структурирования и версионности фронтендовой части веб-приложений: • как вести учет поколений и версий дизайна; • как проводить анализ консистентности фронтенда; • как построить автоматическую систему документации по элементам; • насколько такой подход влияет на общую скорость разработки. Система структурирования фронтенда в Superjob - это более 200 элементов и 2000 представлений. ...
WebWorkers имеют глобальное покрытие в 91% по данным http://caniuse.com. Тем не менее, не всякое современное веб-приложение использует их. В своем докладе я постараюсь передать двухлетний опыт использования WebWorkers в нашей команде для написания веб-приложений с функциональностью, которая требует выполнения тяжелых вычислений, таких как преобразование бинарых файлов из одного формата в другой и шифрование. ...
Клиентская производительность – бесконечный процесс. Разрабатываются новые фичи, меняется дизайн, технологии, браузеры – контролировать скорость нужно постоянно. В этих условиях требуется автоматизированный процесс тестирования скорости клиентской части приложения. ...
Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет. Введение. Подходы к оптимизации фронтенда: * Классический: делаем по GPSI или WPT. ...
Images are a crucial component of all websites. They evoke emotions and prompt actions. They also form 64% of website data and have the highest correlation to page-load time. ...
Доклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность. Проектирование высокопроизводительных REST API. - Кто должен участвовать в проектировании. ...
Jet Propulsion Laboratory – научная организация, производящая большое количество исследований и разрабатывающая ПО для большинства беспилотных программ NASA в области исследования дальнего космоса. В портфолио JPL такие проекты как марсоход Curiosity и зонд Voyager, покинувший солнечную систему после 25 лет полета и до сих пор поставляющий научную информацию. Высокий уровень автоматизации миссий и продолжительность явились основанием для беспримерных требований к качеству ПО, следствием которых стали недавно опубликованные рекомендации по написанию кода для проектов JPL.
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее? * Как работает Change Detection механизм и как им управлять? * Зачем нам Zone.js и Функциональное Реактивное Программирование? ...
DOM + CSS - прекрасная абстракция, облегчающая разработку UI, однако она не лишена недостатков. В то же время мы знаем, что в браузере есть альтернативные технологии отображения контента: SVG, Canvas и WebGL. Этот доклад о специфике применения и супер-силах каждой из них. ...
JavaScript, который мы пишем, не всегда исполняется, как мы думаем. Виртуальные машины, исполняющие его, делают многое, чтобы он работал быстрее. Но они не всесильны, и чтобы сделать код действительно быстрым, нужно знать их особенности и как все работает под капотом. ...
Intel DPDK (Data Plane Development Kit) — набор драйверов и библиотек, позволяющих приложениям взаимодействовать с сетевым устройством напрямую, минуя сетевой стек Linux. Это значительно увеличивает скорость обработки пакетов. DPDK интегрируется с рядом популярных программных решений, например, c виртуальным коммутатором Open vSwitch. ...
На примере нашей системы хранения фотографий мы хотим рассказать о проблемах, с которыми столкнулись в течение прошедших семи лет, связанных с ее программными и аппаратными компонентами, и о путях их решений. В данном докладе речь пойдет о том, как сохранить независимость от поставщика и построить масштабируемую систему хранения с длительным сроком эксплуатации и способностью к оперативному внесению изменений в конфигурацию. Как сделать изменения на аппаратном уровне прозрачными для разработчиков, а также о том, как упростить развертывание и обслуживание. ...
В пересчёте на количество транзисторов оперативная память занимает в современном сервере не менее 85% (если добавить сюда внутрипроцессорные кэши, то и сильно за 90%). Все эти транзисторы оплачены, они греются. Хотелось бы использовать их по максимуму. ...
В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. ...
- Альтернатива традиционному охлаждению или "Стакан жидкости vs Кубометр воздуха". - Устройство системы охлаждения: подсистема охлаждения узлов + подсистема утилизации тепла. - Типы оборудования, которые можно охлаждать. ...
HighLoad - новый взгляд на инфраструктуру центра обработки данных для современных нужд и приложений. Эволюция инфраструктуры датацентра. Как Facebook совершил “открытие” в железной инфраструктуре. ...
В дата-центрах нашей компании несколько тысяч серверов, и примерно на половине из них нужно выкладывать PHP-код 2 раза в день. Помимо раскладки на production также не стоит забывать о том, что код нужен на стейджинге, и в стейджинг-кластер у нас входит около 50 машин, код на которых обновляется раз в несколько минут. Также есть «хотфиксы» — небольшие (1-5) наборы файлов, которые выкладываются во внеочередном порядке на все или на выделенную часть серверов, чтобы устранить существующие проблемы на продакшне, не дожидаясь полной выкладки. ...
* Yasen (Yet Another Search Engine) – первоначальная архитектура поискового движка. * Немного о старой схеме деплоя и её боли – buildbot, chef, git, monit, haproxy. * Docker – простота и мощь в одной команде. ...
HeadHunter - сайт, где соискатели находят работу, а работодатели - сотрудников. Днем к нам приходит 3K запросов в секунду (без статики), что превращается в 25K rps к бэкендам и 50K rps к базам данных. Раньше стабильность сайта могла быть ниже 99%. ...
Одним из важных элементов процесса Continuous Delivery, построенного с использованием Docker, является сборка Docker-образов. На первый взгляд задача кажется тривиальной, а синтаксис Dockerfile — простым и понятным. Но что, если вы используете микросервисную архитектуру и вам необходимо собирать сотни или даже тысячи образов каждый день? ...
The Internet of things (IoT) requires a transition of many paradigms that are commonly used today. One of them is the shift from *scaling up*, i.e. from a system design towards bigger machines with higher computational power to *scaling down*, i.e. ...
Так как я работаю в позиции SRE (site reliability engineer), то более подробно затрону вопросы того, как мы добились годового durability 99.9999999999% и доступности более 99.99%: - Изоляция -- Физическая --- Хранение данных в разных стойках, датацентрах, с разными версиями оборудования и вендорами. --- Бэкапы вне основной инфраструктуры. -- Логическая --- Слабая связанность компонентов. ...
Вне зависимости от размера инфраструктуры, весьма сложно разобраться в проблемах, обнаруженных системой мониторинга, особенно если их сотни или тысячи. Они могут быть о железе, приложениях, связаны с безопасностью, тестовыми и продакшн средами, различными датацентрами и сервисами. Как эффективно управлять этой сложностью? ...
Самым критичным в мониторинге бизнес-логики является этап выяснения сути инцидента, зачастую он занимает значительное время и требует высокой квалификации сотрудника, так как основные показатели работы сайта и сервисов представлены более чем 100 тысячами графиков, и нахождение первоисточника - не самое простое дело. Поэтому была создана система мониторинга (SmartMonitoring), которая умеет находить аномалии в работе портала и показывать связь между ними, что значительно упрощает работу как администраторам, так и программистам. Такая система помогает в случае инцидента понять, какой именно среди десятков наших сервисов засбоил первым и, соответственно, ускоряет распутывание «клубка» в процессе расследования инцидента и помогает быстро находить сервис, который во всем виноват.
Исторически сложилось так, что одни люди разрабатывают приложения (Dev), а другие эксплуатируют их в продакшне (Ops). И у последних есть немало проблем с тем, что невозможно понять, что происходит. Причем это касается как собственных разработок, так и популярных open source решений. ...
* Следующее поколение моделей проектирования и эксплуатации серверных приложений в публичных облаках и на классических серверах. * Сравнение методов эксплуатации: "традиционных" Chef/Salt/Ansible, immutage images/virtual appliances/Docker, и автономных рабочих окружений Jetware/Snappy/Nix/Habitat. * Самоконфигурация, самоадминистрирование и самовосстановление серверов. ...
В какой-то момент 3-й в мире работный сайт начал периодически падать на несколько минут. Сюрпризом стало то, что в этот раз действительно из-за сети. Для масштабирования сервисов и их взаимодействия между собой hh.ru использует внутренний балансировщик. ...
Сначала несколько слов про предпосылки задачи. 1. Что нам завещали деды: zcat | cut | sort | uniq -c | sort -nr . ...
Разница между “несколько серверов в облаках” и “вся инфраструктура в облаках“ огромна. С одной стороны, мы перекладываем миллион забот на гигантские плечи Amazon и Google. С другой стороны, к сожалению, обретаем много новых и порой необычных проблем. ...
Работа в высоконагруженных проектах всегда была такой сферой деятельности, где можно в рамках решения прикладных задач находить и применять сложные и интересные решения. К сожалению, очень часто во главу угла ставится не надежное решение поставленной задачи, а именно применение сложного и интересного решения, которое даст специалисту новый опыт и удовольствие от сложных архитектур. В своем докладе я хочу пройтись по тем стандартным "набитым шишкам", которые мы встречаем в своей работе, когда сложное, новое и интересное решение не означает стабильность системы. ...
В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. ...
Testing applications is important, as shows the rise of continuous integration and automated testing. In this talk, I will focus on one area of testing that is difficult to automate: poor network connectivity. Developers usually work within reliable networking conditions so they might not notice issues that arise in other networking conditions. ...
Мы создаем nodejs приложения, используя различные современные технологии, такие как Docker, Consul, pm2. Современный спектр решений настолько обширен, что сложно не заблудиться. Как же выбрать нужные вашему проекту технологии, чтобы успешно его запустить и поддерживать? ...
Доклад будет полезен тем, кто планирует организовывать защиту от DDoS-атак собственными силами. Отдельный акцент будет сделан на использовании open-source продуктов для обнаружения и блокирования внешних сетевых атак. Кроме этого, я поделюсь опытом организации автоматического обнаружения и предотвращения атак изнутри инфраструктуры (взломанные клиентские серверы, недобросовестные клиенты). ...
Что нового появилось в nginx за последнее время и для чего всё это нужно? В докладе - рассказ про основные новые функции в nginx 1.9.x (1.10.x) и 1.11.x. HTTP/2, модуль stream, динамическая загрузка модулей и так далее - зачем всё это нужно и как это использовать. ...
Достаточно давно уже был какой-то доклад о том, что собой представляет Вконтакте изнутри. В своем докладе я хотел быть отчасти обновить те знания и рассказать, какие из общедоступных инструментов есть в руках системных администраторов социальной сети. Разумеется, кроме чистой головы и прямых рук (лишнее зачеркнуть). ...
Услуга виртуального дата-центра предъявляет жесткие требования к платформе виртуализации - клиенты хотят высокую производительность и стабильность, а провайдерам нужна возможность максимально плотно размещать нагрузки клиентов. Мы расскажем: 1. как мы работали с Virtuozzo, чтобы сделать его более производительным и стабильным и, вместе с тем, добиться максимальной плотности размещения виртуальных машин; 2. ...
Проект Одноклассники начинал свою жизнь в одном датацентре. С ростом популярности растёт и нагрузка. С ростом нагрузки открываются проблемы: - Ни один, даже самый мощный, сервер больше не справляется в одиночку. ...
Рассуждение, опыт, практика и примеры на тему производительности ввода-вывода. Мы будем сравнивать "дефолтное" поведение SSD и HDD, сравним "недефолтное" поведение после тюнинга HDD. Я расскажу о плюсах и минусах в надежности HDD и SSD, о проблемах восстановления SSD и HDD после сбоев. ...
Технологии IoT — это в первую очередь технологии обеспечения передачи данных там, где раньше это было технически невозможно или экономически бессмысленно. Они сильно отличаются и от привычных для IT сетей, и от традиционных промышленных SCADA-систем — это дешёвые, низкоскоростные радиочастотные сети с дальностью действия от десятков-сотен метров до десятков километров, работающие в безлицензионных диапазонах в условиях сильных помех и негарантированной доставки данных. Число стандартов на подобные сети уже перевалило за десяток, при этом весьма немногие специалисты понимают, чем они отличаются друг от друга, как работают, к каким проектам применимы, и в чём ограничения возможных бизнес-моделей. ...
Многим известна проблема исчерпания адресного пространства IPv4, из года в год делаются доклады о том, что адреса кончаются, кончаются, да никак не кончатся. На этом фоне польза от внедрения IPv6 кажется абсолютно неочевидной. В докладе пойдет речь о причинах неизбежности прихода и массового внедрения IPv6 вне зависимости от судьбы адресного пространства IPv4, с описанием как пользы от использования Dual Stack, так и возникающих рисков. ...
К 2025 году ожидается, что 1 триллион устройств, таких как датчики и всевозможные приборы, будут подключены к интернету. SSL 2.0 был изобретен в 1995 году, с тех пор он превратился в монстра TLS, в котором постоянно находят критические ошибки. В мире IoT популярным является подход, когда для защиты используется HTTPS + авторизация по паролю, либо данные, вообще, передаются без шифрования. ...
В докладе мы поделимся опытом, полученным в ходе создания публичного облака, построенного на базе продуктов Microsoft. В частности, речь пойдет о построении программно-определяемой системы хранения данных на основе технологии Storage Spaces. Основное предназначение полученной СХД объемом около 80ТБ - использование в кластере Hyper-V для запуска порядка 5000 ВМ. ...
Мейнфреймы жутко мифологизированы, встречаются самые невероятные представления о них даже в среде технически грамотных специалистов: кто-то представляет их сверхмощными машинами, лишь малость уступающими в Линпаке «Ломоносову», а кто-то — неповоротливым пережитком 1960-х, пригодным разве что для музея или Вторцветмета. В первой части доклад нацелен на преодоление этой информационной лакуны, в ней планируется кратко рассказать об устройстве современных мейнфреймов, их показателях производительности, о задачах, которые на них решаются в 2010-е годы. Главные аналитики мировых IT Gartner когда-то спрогнозировали, что последний мейнфрейм будет потушен в 1993 году. ...
Когда делают очередной заказ на сайте интернет-магазина, например, такого, как Lamoda.ru, скорее всего, никто не задумывается о том, какие информационные потоки формируются за пределами этого самого сайта. Ведь сайт - это всего лишь видимая верхушка айсберга. Помимо информационных потоков, жизнь интернет-заказа состоит из потоков товарных и, конечно, финансовых. ...
Unity3D - это внушительный набор средств для кроссплатформенной разработки игр и 3D-приложений. Однако ряд его особенностей может привести к внезапному падению производительности продукта на мобильных платформах. Где же прячутся подводные камни? ...
Я расскажу, как мы разочаровались в софтверных метриках энергопотребления на мобильных и собрали свое устройство для измерения потребления тока с батарейки. ...
Расскажем: • какие инструменты Apple для разработчиков лучше применять для выявления проблем и их локализации; • как стоит хранить большие объемы данных и проводить быстрый поиск по ним; • как правильно строить вычисления в рамках жизненного цикла view-контроллера; • как незначительные изменения при отрисовке сильно влияют на производительность приложений и usability. iOS-приложения Superjob это: • 3 приложения в AppStore для B2C и B2B-аудиторий; • более 1 млн. пользователей; • наше приложение - это анимации в 50-60 fps; • стабильные позиции в ТОП-3 приложений в категории «Бизнес». ...
В какой-то момент кто-то в интернете решил: всё, что мы можем вычислить, мы должны вычислить где-то на “большой мощной машине”. Так родилась заново идея “тонкого клиента”, поработившая сознание разработчиков современных веб-приложений. Всё, на что способно пользовательское приложение, в 90% кейсов сегодня - красиво отрисовать контент по данным, рассчитанным удаленной машиной в одном из дата-центров. ...
Общие принципы оптимизации производительности мобильных приложений: - работа с длинными списками — таблицы, коллекции; - графика — загрузка из сети, кэширование; - ленивая загрузка частей приложения. Работа с периодически обновляемыми структурированными данными. - как передавать данные с сервера на клиент: запросы, объем, формат, десериализация; - как хранить полученные данные на клиенте — виды хранилищ: от плоских файлов до NoSQL. ...
Известный закон Джеймса Завински гласит “Каждая программа пытается расширяться до тех пор, пока не сможет читать почту”. В данном докладе будут рассмотрены следующие практические аспекты, возникшие при разработке популярного почтового клиента Spark (номинант “App Store Best Of 2015”): - Высоконагруженные интерфейсы: рендеринг цепочек сообщений и списка писем — ключевых элементов почтового приложения с высокими требованиями к производительности. Разбор подходов, использующих UIKit, CoreText, AsyncDisplayKit, Core Graphics. ...
Мы посвятили два месяца исследований и разработки сокращению времени запуска нашего приложения. В докладе мы расскажем все, что нам удалось узнать на собственном опыте о приемах и хитростях ускорения приложений под iOS, поделимся конкретными рецептами и расскажем о результатах проделанной работы. - Что можно и нужно оптимизировать? ...
Расскажем о методиках создания производительных приложений, опираясь на собственный многолетний опыт проб и ошибок: • использование инструментов отладки (работа с Hierarchy Viewer; поиск и устранение overdraw; профилирование методов; поиск утечек памяти); • написание производительного кода; • создание верстки, повышающей скорость работы приложений; • создание требований к дизайну интерфейсов и API с оглядкой на производительность; • использование аналитики для логирования и отладки багов. Android-приложения Superjob: • 3 приложения в Google Play для B2C и B2B-аудиторий; • более 1 млн. пользователей; • в числе лучших российских приложений по мнению Google Play. ...
Созданием еще одной высоконагруженной системы сегодня уже сложно кого-то удивить. Как насчет высоконагруженной системы, которая была создана и эксплуатируется 100% удаленной командой, работающей в 5 часовых поясах? В докладе пойдет речь о команде Virtustream (Dell Technologies), которая отвечает за Virtustream Storage Cloud. ...
Когда в зоне ответственности находятся несколько "похожих" по реализации и/или функционалу технических решений (сайтов, систем, проектов), волей-неволей возникает желание их унифицировать. Плюсы от такого подхода очевидны: это и экономия ресурсов разработки/тестирования/администрирования, и удобство поддержки, и полноценное общее владение кодом для всей команды разработки. Очевидно, что подобная реформа потребует значительных ресурсов и времени, но мы верим, что это "один раз", и принимаемся отстраивать сложную архитектурную конструкцию, призванную удовлетворить требования всех "объединяемых" продуктов. ...
The HipHop Virtual Machine (HHVM) is the PHP and Hack execution engine developed at Facebook. HHVM is the fastest existing PHP/Hack engine, and it powers not only Facebook's servers, but also Wikipedia, Baidu, and many other sites across the web. In this talk, we'll give an overview of the design of HHVM, with particular focus on its JIT compiler.
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :) С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться. В моем докладе я расскажу: · Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище). ...
Из этого доклада вы узнаете, как профилировать код, написанный на языках C и C++, в UNIX-подобных системах, таких как Linux, MacOS и FreeBSD. Мы познакомимся с такими инструментами, как gprof, perf, SystemTap, DTrace, и другими. Также будут приведены списки заслуживающей внимания литературы по этой теме и ссылок на онлайн-ресурсы.
PHP 7.0 вышел год назад и уже используется многими крупными компаниями. Почти все они отмечают, что переход с PHP 5 дал приблизительно двукратное увеличение производительности на своих реальных задачах, позволив сократить количество серверов. Я расскажу о том, как мы пришли к идеям, легшим в основу PHP 7; о внутреннем устройстве PHP, изменениях в базовых структурах данных и алгоритмах, определивших успех; новых идеях, реализуемых в еще не вышедших версиях.
Докладчик разберёт кейс быстрой разработки небольшого прототипа серверной части мобильной игры с геолокацией на стеке nginx, OpenResty (Lua), Redis и Docker. Вы услышите о том, почему был выбран такой стек, о его преимуществах (и некоторых недостатках), о том, как прототип устроен внутри, о том, как именно особенности стека были использованы для того, чтобы реализовать задуманное. Не будет обойден стороной вопрос о том, как максимально быстро собрать прототип и быстро итерироваться по нему, но при этом удержаться в золотой середине между Сциллой макаронной копипасты и Харибдой кристаллического перфекционизма.
Все мы знаем, что NGINX – отличный прокси, который может качественно и эффективно распределять нагрузку между бэкендами и фильтровать запросы по определенным условиям. Но при этом часто на практике возникают задачи, которые не решаются его декларативной моделью описания конфигурации: иногда для принятия решения нам нужно сходить в базу данных (в Redis или даже в MySQL), другой сервис или произвести какую-то более сложную обработку запроса/ответа. Именно здесь к нам на помощь приходит мощь Lua и OpenResty.
NginX является фундаментальным элементом практически в любом проекте. Сегодня многие умеют NginX конфигурировать, писать lua скрипты, использовать как proxy. Другими словами, решать задачи, не выходя за рамки nginx.conf, и в большинстве случаев этого достаточно. ...
Байткод эрланга выполняет очень хорошо отлаженная виртуальная машина BEAM, которая превосходно работает даже на современных 72-х и более ядерных компьютерах. Ключевая возможность эрланга в том, чтобы использовать все ядра в одном приложении, т.е. иметь в памяти одни и те же данные и обеспечивать к ним доступ без запуска кучи экземпляров одного и того же приложения по количеству ядер. ...
RethinkDB - это распределенное документо-ориентированное хранилище данных с открытым исходным кодом. Данная система ориентирована на разработку систем обработки данных реального времени, позволяя клиентскому приложению подписываться на изменение тех или иных данных. В данном докладе я бы хотел осветить не только вопросы разработки приложений на базе RethinkDB, но и поговорить о том, как все это работает.
Я расскажу про новые возможности полнотекстового поиска, которые вошли в последний релиз PostgreSQL - поддержку фразового поиска и набор функций для манипулирования полнотекстовым типом данных (tsvector). Помимо этого, мы улучшили поддержку морфологических словарей, что привело к значительному увеличению числа поддерживаемых языков, оптимизировали работу со словарями, разработали новый индексный метод доступа RUM, который значительно ускорил выполнение ряда запросов с полнотекстовыми операторами. ...
Как известно, SQL - декларативный язык. В SQL-запросе заданы операции и свойства данных, над которыми эти операции должны быть выполнены. Но за выбор конкретного алгоритма выполнения запроса отвечает СУБД. ...
Я расскажу о нашем опыте перевоза 300+ ТБ метаданных и 250k RPS нагрузки с одной коммерческой СУБД на букву "O" в PostgreSQL. ...
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных. В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. ...
Чтобы добиться от системы максимальной производительности, необходимо учитывать структуру данных, с которыми вы работаете. Проблемы возникают, если данные очень неоднородные, и один из способов решения этих проблем - использовать возможности современных реляционных БД для хранения данных в документо-ориентированной форме. Этот подход имеет свои плюсы и минусы, которые будут обсуждаться в докладе на примерах PostgreSQL/MySQL/MariaDB etc.
The new PL profiler allows you to easily get through the dark barrier, PL/pgSQL puts between tools like pgbadger and the queries, you are looking for. Query and schema tuning is tough enough by itself. But queries, buried many call levels deep in PL/pgSQL functions, make it torture. ...
В этом докладе мы поделимся опытом, полученным в ходе масштабного проекта по миграции Avito между дата-центрами: как мы осуществляли планирование, подготовку и непосредственно переезд с переключением площадки. Опишу общие особенности и специфику нашей миграции, "подводные камни" и неочевидные ограничения, с которыми приходилось справляться, в том числе, и в экстремальных условиях. ...
* Исторический экскурс, введение понятия спота, принцип функционального деления баз на группы (споты / не споты), шардирование как способ масштабирования спотов. * Возникновение второго датацентра на другом континенте, создание самодельной репликации, позволяющей работать по схеме много -> много, краткая схема (структура спотов, схема репликации, служебные базы - очереди, репликация, мониторинг), плюсы и минусы этого решения, инструменты диагностики. * Альтеры шадрированых спотов - первый вариант утилиты для этой задачи: схема его работы и возникшие проблемы; вторая версия утилиты - улучшения, а также, что осталось неисправленным. ...
В rfc1149 дан исчерпывающий обзор преимуществ голубиной почты для протокола IP: низкая пропускная способность, невысокая надёжность, простая топология сети. Для того чтобы дать адекватный ответ вызовам эпохи мемристоров и квантовых вычислений, Tarantool 1.7 содержит новый движок для хранения данных на классических жёстких дисках и флэш-накопителях: Vinyl. Tarantool известен своей скоростью, и мы постарались не ударить в грязь лицом и на этот раз. ...
Механизм секционирования в Postgres имеет ряд ограничений, которые не позволяют использовать концепцию секционирования в полной мере. Среди таких ограничений можно выделить неэффективность планирования запросов для секционированных таблиц (линейный рост времени планирования при увеличении количества секций), отсутствие HASH-секционирования, необходимость ручного управления секциями. В нашем докладе мы расскажем про расширение pg_pathman, которое позволяет обойти эти ограничения. ...
Мы расскажем, как с помощью роботизированных библиотек данных и новых носителей с оптическими дисками от 1,2TB до 12TB экономить миллионы рублей, на примере построения систем от 100TB до 1EB. Что обещает новый стандарт оптического диска AD (Archival Disc) для разработчиков ПО высоконагруженных систем, о настоящем и будущем оптических технологий. Может ли оптика конкурировать c хардами? ...
Несколько месяцев назад компания "Яндекс" совершила маленькую революцию, открыв свою внутреннюю систему хранения и аналитики больших данных ClickHouse в opensource для всех желающих. ClickHouse стабильно показывает очень высокие результаты на тестах производительности запросов, часто догоняя и обгоняя лидеров рынка аналитических RDBMS, включая HP Vertica. Высокие результаты и авторитет "Яндекса" привлекают к этой системе заслуженное внимание разработчиков и архитекторов. ...
This presentation will talk about how Alibaba Cloud deals with the management of PostgreSQL as a Cloud Service. It will not only talk about the architecture design of the management system, link access architecture and high availablity, but also the enhancements we've done for PostgreSQL, the way we play with open source and the coming future based on our customs' feedback. ...
В докладе мы поделимся опытом разработки высоконагруженной системы визуализации активности клиентов компании (~65 млн. хитов в сутки) по всему миру с использованием продвинутых возможностей кластерных технологий Apache Spark Streaming, АПИ Яндекс.Карт и алгоритмов потоковой агрегации событий. Уделим особое внимание разработке стратегии онлайн-агрегации географической информации, расскажем о пробах и ошибках, выбранных алгоритмах и их возможностях. ...
Довольно часто как адинистраторы, так и разработчики жалуются на низкую производительность приложений, работающих с базой данных, и нередко при этом ищут решения возникших проблем с помощью различных настроек как СУБД, так и операционной системы, пренебрегая при этом самым действенным способом - оптимизацией запросов к собственно БД. Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад. ...
В этом докладе я расскажу, как мы в Почте@mail.ru разрабатывали и внедряли новую систему хранения аттачей из писем. Основные вопросы, которые будут изложены в докладе: - Архитектура хранилища с дедупликацией. - За счет чего мы сэкономили 18Пб, и как защититься от возможных ошибок при этом. ...
Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. ...
Всем известно о существовании временных таблиц в PostgreSQL, но как они устроены, и чем грозит их некорректное использование - не столь очевидно. На примере одного известного приложения, активно и некорректно использующего временные таблицы, мы расскажем о создаваемой ими проблеме фрагментации памяти. Что такое фрагментация памяти, по каким признакам можно определить ее наличие, чем она грозит, почему она возникает при активном использовании временных таблиц, и как мы пропатчили PostgreSQL, чтобы ее избежать - обо всем этом можно узнать из нашего доклада.
Многие из вас, наверное, видели результаты тестов сравнения Tarantool с остальными СУБД, которые показывают, что Tarantool быстрее всех, оптимальней по памяти, обрабатывает наибольшее количество транзакций в секунду. И, несмотря на то, что исходные коды всех тестов полностью открыты и хорошо откомментированы, позволяя всем желающим повторить тесты, все равно остаются вопросы - за счет чего Tarantool такой быстрый и оптимальный? Я решил суммировать мои ответы на эти вопросы в докладе на Highload++. ...
Сегодня много дискуссий о том, что лучше - MySQL или PostgreSQL? Однако перед тем, как выбирать именно реляционную базу данных для своего проекта, стоит понять, является ли реляционная база данных наилучшим решением для него. В рамках этого доклада мы сравним наиболее популярную реляционную базу данных с открытым кодом с наиболее популярным хранилищем документов с открытым кодом. ...
ClickHouse - высокопроизводительная база данных для больших данных и аналитики. На ClickHouse основана Яндекс.Метрика - крупнейшая система веб-аналитики в России. Ради чего мы написали свою базу данных? ...
Есть много проектов, которые начинаются со стадии "А давайте сделаем все по уму", а заканчиваются стадией "Надо было делать все по-другому". Редкий архитектор не размышлял об использовании мультимастер-хранилища на первой стадии, но далеко не все админы эксплуатировали это решение на второй. В чем причина? ...
Широко распространено мнение, что SQL СУБД обречены быть медлительными и неповоротливыми, поскольку несут груз совместимости с предыдущими версиями. Это расхожее мнение широко эксплуатируется маркетингом NoSQL СУБД. Однако, это не всегда действительно так. ...
Зачем мы каждый раз изобретаем велосипед, только потому что можем? Корпоративные СХД существуют более 25 лет и умеют очень многое. Защита данных, качество обслуживания, многоуровневое хранение и кэширование на флэш-памяти. ...
Репликация - одна из ключевых возможностей MySQL. Лёгкая в установке, позволяющая производить изменения и на мастере, и на слейве, что в свою очередь позволяет создавать сколь угодно сложные развёртывания. Репликация в MySQL асимметричная, допускающая некоторый уровень синхронизации при помощи semi-sync replication plugin. ...
Многие современные высоконагруженные системы построены с использованием очередей. Не является исключением и внутренний сервис обработки OAuth токенов, который создала наша команда. Исключением является то, что и в качестве основного хранилища, и в качестве всех очередей используется один и тот же продукт - Tarantool. ...
Lua — высокоуровневый язык, похожий на Python/JS, но существенно более простой. Он гибкий и при этом очень быстрый. Многие слышали про OpenResty. ...
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него. Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. ...
Проблема мониторинга целостности технологических процессов на индустриальных объектах связана с обработкой большого объема показаний различных датчиков (температура, давление, управляющие сигналы и т.д.). Каждый из таких сенсоров порождает временной ряд, который может быть использован как для потоковой обработки, так и для проведения исторического анализа и расследования инцидентов. Здесь возникает задача хранения показаний за некоторый период времени. ...
Write-optimized database algorithms have been available in NoSQL products for many years. With MyRocks, the RocksDB storage engine for MySQL, we are using a write-optimized algorithm for a SQL DBMS. This talk will explain why we created MyRocks and how to compare write-optimized algorithms with the ubiquitous B-Tree in terms of read, write and space efficiency. ...
Производительность инференса - одна из самых серьезных проблем при внедрении DL приложений, так как она определяет, какое впечатление от сервиса останется у конечного пользователя, а также какова будет цена внедрения этого продукта. Таким образом, для инференса важно быть высокопроизводительным и энергоэффективным. TensorRT автоматически оптимизирует обученную нейронную сеть для максимальной производительности, обеспечивая существенное ускорение по сравнению с обычными часто используемыми фреймворками.
Artisto - первое в мире мобильное приложение для обработки видео с помощью нейросетей в стиле картин художников и любых исходных изображений. Приложение вошло в топы AppStore и Google Play в США. В рамках доклада расскажу: - как научить нейросети рисовать, а, главное, красиво и быстро; - про особенности переноса стиля на видео; - про технологический стек. ...
Цель доклада — помочь слушателям построить актуальную карту происходящего в области искусственных нейронных сетей. В рассказ войдёт разбор основных архитектур промышленных нейросетей сегодняшнего дня, их особенности и отличия друг от друга, границы применения и типовые решаемые задачи, а также актуальные направления развития области, в настоящий момент выходящие из лабораторий в промышленное использование. Также коснёмся темы используемых в индустрии фреймворков для работы с нейросетями. ...
Нейросетевые технологии в компьютерном зрении за последние 10 лет достигли невероятных высот. Качество распознавания образов в помощью систем deep learning достигло уровня, не уступающего человеческому зрению, а зачастую и превосходящего его. В данном докладе мы рассмотрим основные аспекты практического применения алгоритмов глубинных нейронных сетей различных архитектур в таких областях как распознавание образов, распознавание лиц, обработка изображений и видео, общение на естественном языке. ...
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах.
Новые угрозы, которые появляются в области ICS, требуют новых подходов к обеспечению безопасности объектов критической инфраструктуры. В докладе будет рассмотрена задача автоматического обнаружения сбоев в работе технологических процессов на основе анализа динамики показаний сенсоров и управляющих сигналов. Модель обнаружения сбоев работает на основе прогнозирования значений множества связанных временных рядов с помощью многослойной нейронной сети с рекуррентными слоями. ...
Очень долгое время задача написания продающих тестов лежала исключительно на специалистах по маркетингу. Подобрать короткий, меткий продающий текст всегда было вопросом интуиции и контекста. Но тем не менее, текст не всегда работает хорошо, и уж тем более не на всю аудиторию. ...
Vinci - это второе по популярности приложение в мире для обработки фотографий с помощью нейронных сетей. Расскажу, как менее чем за месяц с нуля разработать и развернуть приложение, обработать 3 миллиона фотографий на GPU в день запуска и не упасть. Доклад будет разделен на 3 части: 1) Менеджинг задач при работе с GPU, как найти компромисс между надежностью и максимальной производительностью. ...
Микросервисы получают все большую популярность в компаниях по всему миру. Какие организационные и технические проблемы они помогают решать? С какого момента монолиты перестают справляться с растущей нагрузкой на ваш сервис? ...
Существует множество архитектур и способов масштабирования систем. Сегодня многие компании мигрируют в облачные сервисы или используют контейнеры. Но действительно ли это так необходимо и нужно ли следовать трендам? ...
В процессе рефакторинга архитектуры мы начали переделывать часть системы на микросервисы, и вышло настолько клево, что мы просто обязаны этим поделиться. Микросервисы. Зачем они вообще: - В простых сервисах легче разбираться и локализовывать проблемы. ...
В докладе я расскажу о проблемах роста, с которыми сталкивался проект как в плане доступа к БД, так и в целом. Как решали, что получалось, как (общетеоретически или практически) можно решать подобные проблемы в других проектах. Разберем несколько реальных случаев, когда что-то шло не так. ...
Booking.com - популярный сервис по онлайн-бронированию отелей. Поиск отеля, отвечающего заданным характеристикам - это неотъемлемая часть бизнес-модели и основной инструмент для клиента. При постоянном росте компании вопросу производительности и масштабируемости поиска уделяется много внимания. ...
2-3 года назад у нас был на 100% MS стек (Винда, Hyper-V, MSSQL, IIS, C#, WCF, Azure), и было не очень понятно, как продукт дальше развивать: C#, конечно, неплохой язык, но оставаться в рамках MS - слишком большие ограничения по выбору продуктов: чего-то на винде до сих пор нет (например, Докера), а для многих серверных продуктов рынок винды вторичен. Получалось, что все понимают тупиковость ситуации, но продолжают тащить этот чемодан без ручки, потому что делать-то что-то надо. Переписать весь проект с нуля под новые технологии - это год работы вхолостую для бизнеса, и ни один инвестор в мире на такое не согласился бы. ...
Идеальный код прост, элегантен, самодокументирован, безошибочен и не существует. Но стремиться нужно именно к нему. Чувство вкуса по щелчку пальцев выработать нельзя. ...
Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. ...
На этот доклад меня вдохновила статья разработчика, который ускорил систему на Hadoop в 235 раз, написав вместо нее bash-script. В жизни каждого разработчика случается момент, когда пользователей на сайте становится слишком много, скорость работы сайта падает, и с этим нужно что-то делать Я расскажу про: 1. Проектирование высоконагруженного приложения. ...
В докладе будет рассмотрен процесс построения масштабируемой отказоустойчивой системы хранения, отдачи и обработки фотографий с точки зрения разработчика. На примере Badoo, я расскажу о стандартном пути эволюции такого рода проектов. Детально разберу каждый этап и остановлюсь на основных сложностях и неочевидных проблемах. ...
Чтобы быстро двигаться, надо быстро двигаться :-) Скоростная разработка продукта невозможна без непрекращающегося выкатывания свежих изменений в боевое окружение. Именно это позволяет Ultimate-Guitar оставаться #1 world's guitar service. Когда-то давным-давно мы приняли для себя, что "мы движемся очень быстро и иногда из-за этого что-то ломаем. ...
Open source трибуна — это наш вклад в сообщество. Мы предоставляем полностью оборудованный зал на площадке конференции, в котором у разработчиков open source будет 20 минут, чтобы представить заинтересованным свою технологию или разработку. Технология, разработка, база данных, фреймворк, утилита — подойдёт всё, что может быть полезно аудитории конференции. ...
AVRO - система сериализации данных, созданная сообществом Apache Hadoop. Включает в себя различные структуры данных, компактный формат хранения в бинарном виде, язык описания схем данных и правила миграции данных между разными версиями схемы. С помощью инструментария AVRO можно валидировать данные по схеме, совершать преобразования из одной версии в другую и даже восстанавливать неполные данные при помощи значений по-умолчанию. ...
Мы прошли довольно большой путь в разработке через микросервисы. Начинали разработку, когда это за рубежом только входило в тренд. По сути, не было никакой информации о том, как это делать правильно и, вообще, стоит ли это делать. ...
+ Функционал разных решений для балансировки. + Виды балансировщиков (DNS, hardware, software, облачные решения). + Поведение при скачках трафика и возможности скалирования сервиса. ...
Если ваше приложение внезапно перестаёт помещаться на один сервер, то надо ставить ещё N серверов рядом, ведь ничего же сложного, разве что-то может пойти не так? Но встав на шаткую дорожку создания распределенной системы с неокрепшим умом, можно с удивлением обнаружить, что ваш кластер внезапно теряет и портит данные, страдает раздвоением мозга и живёт своей насыщенной жизнью против вашей воли. Этот доклад попытается прояснить: - Какие проблемы встречаются при создании распределенных систем; - Как можно налажать и допустить типичные ошибки при проектировании; - Матчасть о целостности, CAP-теореме, линеаризации и консенсусе; - Как все эти знания применять на практике, и какие бывают инструменты для облегчения нелёгкой жизни разработчика распределенных систем. ...
С того момента, как было принято решение использовать язык Lua в качестве языка описания бизнес-логики в нашей платформе, прошло уже больше восьми лет. Проекты росли, данных становилось больше, возрастала нагрузка на сервера приложений. Со временем у нас накопился солидный багаж знаний о том, как устроен LuaJIT, с какими проблемами можно столкнуться при его использовании и как эти проблемы можно решать. ...
В XING мы пишем на OO языках. С развитием проектов скорость разработки новых сценариев существенно снизилась, несмотря на (а отчасти и благодаря) применению современных framework'ов, упрощающих и ускоряющих разработку. Так происходило до тех пор, пока мы не сменили парадигму OOP на DCI. ...
Когда Uber или Lyft потихоньку захватывают мир, все службы такси хотят себе такое же приложение. Мы задумались о том, чтобы сделать у себя несколько вещей: - Сделать карту, которая работает как в приложении Uber (показывать водителей рядом, которые катаются по городу, плавно заанимированные). - Хранить маршрут, по которому ехал водитель во время заказа. ...
В докладе поделимся опытом построения комплексного процесса последовательного улучшения производительности информационных систем мобильного оператора, расскажем об используемых инструментах и компонентах (Oracle, Tarantool, Java, Jmeter и т.д.). Особенность нашего оператора в том, что основной канал взаимодействия с клиентом - это мобильное приложение или web Личный кабинет, а не USSD команды и СМС, как у основной массы операторов. Данная особенность создает высокие требования к времени отклика и доступности сервисов и ставит перед нами целый ряд вопросов: - Как достичь приемлемого времени отрисовки страниц (не более 2х секунд) и не "уронить" backend при увеличении кол-ва абонентов в несколько раз за год до 4х миллионов? ...
Расскажем об архитектуре системы А/Б тестирования в нагруженном проекте: • как сегментировать пользователей и собирать метрики на разных платформах; • где хранить и как анализировать бизнес-показатели, статистическую значимость и практики проведения тестирования; • как и зачем внедрять тесты в процессы принятия решений и развития продукта. A/B тесты в Superjob это: • более миллиона пользователей ежедневно; • десятки тестов “на бою”; • несколько платформ: десктопная и мобильные версии сайта, почтовые рассылки; • единая система хранения на основе аналитической БД HP Vertica; • показатели и бизнес-метрики в реальном времени. ...
В идеальном мире нагрузочное тестирование проводится своевременно, с должной поддержкой со стороны разработчиков, на подходящем железе и с нужным объемом данных. В реальности выполнение многих задач может запаздывать, способ решения может меняться и заказчик может менять свои планы. Как минимальными усилиями можно провести тестирование производительности, при этом не упустив важных кейсов? ...
Доклад об одном из самых больших монолитных инстансов Jenkins в мире: один мастер переваривает больше 100 тысяч билдов в день и управляет в пике ~2500 executor'ов. В докладе будут подняты следующие вопросы: * Как развернуть CI в облаке? * Как с помощью memcache экономить на железе для CI? ...
Доклад о PQuery - новой утилите, разработанной в Percona, от её разработчика. PQuery - это open-source (лицензирована под GPLv2) engine-agnostic многопоточная программа, созданная для стресс-тестирования MySQL-серверов. Основные области применения: нагрузочное и функциональное тестирование MySQL. ...
В докладе рассмотрим нашу старую архитектуру пайплайна машинного обучения, обратим внимание на ее недостатки как с точки зрения инфраструктуры и автоматизации, так и с точки зрения настройки моделей машинного обучения и проведения экспериментов. Разберемся с архитектурой Apache Spark, и почему мы решили его использовать. Подробно ознакомимся с новой архитектурой нашего пайплайна и тем, как она позволила оптимизировать обнаружение и устранение проблем, ускорила и упростила работу data scientist'ов по проведению экспериментов и доведения их до продакшена. ...
В докладе мы поделимся опытом создания content-based рекомендательной системы для электронной коммерции, работающей на семантическом ядре рунета (десятки миллионов профилей). Расскажем, как организовали централизованный сбор и обработку информации о посещении пользователями более 100 000 сайтов различной направленности на основе Amazon Kinesis. Поделимся опытом многопоточной онлайн-индексации потоков данных в Lucene. ...
Что нужно хранить для того, чтобы была возможность ответить на этот вопрос? Для точного ответа нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. ...
Каждый день пользователи совершают миллионы действий в Интернете. Нам в FACETz DMP необходимо структурировать эти данные и проводить сегментацию для выявления предпочтений пользователей. Хочу рассказать, как мы: - Сегментируем в реальном времени 600 миллионов пользователей ежедневно; - Поставляем данные партнерам, DSP, Google с минимальной задержкой; - Храним статистику по количеству уникальных пользователей в сегменте при потоковой обработке; - Отслеживаем влияние изменения параметров сегментации; - Ведем подсчет аффинитивности домена к сегменту для аналитики аудиторий. ...