HighLoad++

Конференция разработчиков
высоконагруженных систем

HighLoad++ 2012: как это было!

22-23 октября 2012-го года прошла очередная, уже шестая по счету, конференция HighLoad++. Пока обычные люди ругали погоду за окном и скучали в своих офисах, в конференц-центре Московского отеля Рэдиссон собрались лучшие специалисты из тех, что работают с высоконагруженными системами.

Обычный программист может позволить себе забыть об оптимизации или оставить мешок очевидных ошибок в коде. Когда же ты отвечаешь за стабильность работы “ВКонтакте”, к серверам которой ежесекундно обращаются тысячи пользователей со всех концов света, условия игры совершенно другие. Вот эти самые люди и делились своим опытом, который, в большинстве случаев, можно удачно применять для систем гораздо меньших масштабов.

На конференции было много интересного: живое общение с коллегами по индустрии, целое поле мягких пуфиков, обеды и кофебрейки, а также подарки и розыгрыши ценных призов. Глаза разбегались в разные стороны и снова собирались в одну точку только на выступлениях специалистов. Все-таки, именно доклады составляют главную ценность конференции, а предложенные в них подходы обсуждаются еще долго после ее завершения.

Одни из самых высоконагруженных систем современности – это социальные сети. Конечно же, конференцию посетили их разработчики и поделились своим ценным опытом.

Одним из лучших докладчиков признанно считают Олега Илларионова, который продемонстрировал ретроспективу развития системы хранения и доставки контента ВКонтакте: весь путь от одного сервера до полноценной CDN (Content Delivery Network). Этой системе есть чем заняться, ведь, если верить статистике, каждый день в нее добавляют по 264000 новых видеозаписей, 134000 музыкальных треков и 17 миллионов фотографий (всего же их в базе уже более 30 миллиардов). На начальном этапе весь пользовательский контент хранился на том же сервере, где и исполняемый код. Затем стали добавлять дополнительные сервера, куда пользовательский контент переносился после загрузки на основной. Теперь же есть набор отдельных серверов под контент, которые по запросу выдают и принимают пользовательскую информацию. Никакого лишнего функционала и только нужные открытые порты – даже если хакер доберется до такого сервера, повредить с его помощью всю систему он не сумеет.

Также мы узнали из доклада, что для хранение информации ВКонтакте используется файловая система XFS. Все данные хранятся в одном огромном файле, а новый контент дописывается в его конец. Индексируются все эти данные в оперативной памяти сервера, что позволяет с впечатляющей скоростью ими манипулировать.

Также Олег дал несколько советов насчет работы с изображениями – лучше немного сжимать картинки еще на компьютере пользователя, сразу сохранять картинки в различных размерах на сервер и пользоваться Graphics Magick вместо Imagick.

Алексей Шевчук, разработчик поисковых систем, рассказал, как работает поиск на Одноклассниках.ру. 185 миллионов аккаунтов, 5.5 миллионов пользователей онлайн, 250000 страниц и 3000 поисковых запросов в секунду – условия действительно серьезные. В определенный момент разработчиков перестал устраивать поиск на MS SQL и они решили перейти на OpenSource Java проект. Тестирование Solr не дало нужных результатов, зато вариант на базе модифицированной Apache Lucene превзошел их ожидания! За 3 года в Lucene реализовали собственную репликацию, хранение индексов в памяти, выполнение поиска на индексах, загрузку хранимых полей и новые виды запросов.

Также от “Одноклассников” выступил Андрей Паньгин, который поделился приемами кеширования и передачи данных на Java. 4000 серверов и до гигабайта трафика в секунду – с такими масштабами он сталкивается каждый день.

Помимо “социальных” разработчиков, на конференции выступали отечественные представители из многих известных компаний.

Дмитрий Вьюков, работающий в Google над системами динамической верификации кода, поведал про OpenSource разработку Go Language. Слушателям рассказали про основные свойства языка, причины его появления и продемонстрировали ряд примеров с основными элементами. На сайте проекта (http://golang.org/) можно писать свой код прямо в окне браузера и получать результаты его выполнения по нажатию кнопки “RUN”.

Александр Лямин, руководитель Лаборатории Высоких нагрузок (Highload Lab), проанализировал данные 2012-го года по DDoS атакам в России. По отношению к 2011-му, среднее число атак в день возросло с 6 до 9, а их максимум поднялся от 32 до 73. Типичный ботнет теперь насчитывает 2070 компьютеров вместо 1886. Ну, хоть максимальная длительность DDoS атаки сократилась в три раза – всего 83 дня вместо 253. Наибольшее число зараженных машин для ботнетов сейчас расположены в Германии, Америки и Украине – вот где пользователи тыкают ссылки не глядя и пренебрегают антивирусами.

Если ваш сервер потенциально может стать мишенью DDoS атаки, то лучше заранее позаботьтесь о запасе производительности (хотя бы в 2 раза) и храните под рукой контакты профессионалов – к примеру, сети фильтрации Qrator (http://qrator.net/), которую рекламирует Александр.

Тему DDoS атак также затронул в своем докладе Александр Крижановский – основатель и системный архитектор NatSys Lab. Мы узнали, как легко отличить DDoS трафик от нормального: по мелким запросам (10-100 байт) и большому числу запросов в каждом соединении (либо постоянной переустановки соединений с каждого хоста). Также Александр рассказал, что происходит с ОС и прикладным сервером (например, Nginx) во время DDoS атаки.

Роман Зыков, руководитель аналитической службы компании "Wikimart", рассказал про успешное обновление сервиса рекомендаций. В начальной точке это был SQL вариант, который раз в неделю просчитывал все рекомендации. Процесс занимал 5 часов, в 30% случаев он вызывал переполнение tempdb и падение сервиса, а также давал большую нагрузку на хранилище. Когда эта ситуация стала неприемлема, рекомендации перенесли в отдельный сервис на базе виртуального hadoop кластера, где был реализован сложный алгоритм, основанный на перемножении больших матриц. Теперь в четыре раза больше расчетов проводится каждый день, при этом процент падений сократился практически до нуля.

Дмитрий Симонов и Даниил Подольский (Setup.ru) рассказали, как решали проблему с хранением 6 миллионов файлов. Каждый файл был расположен в отдельной директории, и на полный обход всего дерева файлов требовалось 12 миллионов операций ввода-вывода. Занимало это у жесткого диска, соответственно, 6 часов. Проблему реально решить через индексированные директории или распределенные файловые системы, но докладчики выбрали нетрадиционный вариант – СУБД. И вот благодаря PostgreSQL вся мета-информация по миллионам файлов сжалась до 2 гигабайт, а обход дерева сократился до 2 минут. Все-таки, планирование управления данными – это очень важно.

Маги-консультанты Иван Усачев и Андрей Сас из KupiVip и Badoo, соответственно, поделились секретами консультации в области email-маркетинга – рекламы посредством email рассылок. В частности, они озвучили список вопросов, которыми нужно с ходу задаться при создании новых рассылок:

- Кто создатель?

- Какие люди и как участвуют?

- Как тестируются? Насколько автоматизировано? Есть ли A/B тесты?

Также поговорили о частых проблемах в этой сфере: бывает, что консультантов просто не ждали, часто отсутствует комплексное видение рассылки, а иногда люди наследуют непонятную систему и упорно продолжают ей пользоваться.

Западные докладчики на конференции предсказуемо привлекали интерес слушателей, но при этом несколько разочаровывали своим подходом к выступлению. Зачитанный текст со слайдов, как правило, менее интересен, чем живая импровизация.

Dave Engberg, главный инженер Evernote, сосчитал один миллиард пользовательских записей и рассказал об особенностях их хранения на сервере. На входе всю информацию принимает сервер с 96 гигабайтами оперативной памятью и шестью жесткими дисками SSD по 300Гб, после чего записи перемещаются в сторону сервера-архива. Здесь установлено всего 12 гигабайт оперативной памяти и жесткие диски не такие быстрые – обычные HDD. Зато их целых 24 штуки по 3 террабайта. Если пробежаться глазами по всей системе, то невольно задаешься вопросом – сколько стоит все это удовольствие в пересчете на одного пользователя? Оказывается, инженерам Evernote удалось добиться весьма небольшой цифры – всего около 0.05$ на пользователя в год.

Майкл Тоутонги из Parallels (до этого 10 лет в стартапах и еще 10 лет в Microsoft) выступил с докладом “Строительство и пакетирование высокомасштабируемых услуг для максимального проникновения на рынок”.

Майкл поведал об уникальных трудностях, с которыми приходиться сталкиваться высокомасштабным сервисам и разработчикам приложений для привлечения клиентов, а также поделился решениями для преодоления таких препятствий.

Colin Charles из Малайзии (ранее работал над MySQL, в свое время приложил руку к Fedora и OpenOffice.org) рассказывал про MariaDB – продвинутое ответвление MySQL. Толчком к ее созданию в свое время послужила неопределенная политика Oracle насчет лицензирования MySQL.

Ну а Chris Bohn, главный инженер баз данных Etsy.com, здорово поднял интерес к своему выступлению, выпустив набор полезных инструментов в OpenSource прямо на конференции. Сам доклад он посвятил теме максимально оперативного и полного анализа огромных объемов информации о поведении пользователей на сайте, о том, какие для этого нужны инструменты, и какие OpenSource решения могут посоревноваться с коммерческими предложениями от Oracle/SAP/MS.

На конференции прошли и десятки других выступлений. Опытом также успешно делились представители компаний Twitter, Mail.ru, Яндекс… Как показывает практика, с настолько высокой нагрузкой сталкиваются не так уж много компаний в мире, поэтому все решения им приходится придумывать с чистого листа. Подходы, порой, неоднозначные, но они уже работают в реальных системах, а значит, оправданы. И если для ваших систем высокая нагрузка знакома не понаслышке, то пропускать следующую HighLoad++ лучше не стоит. Только билет покупайте заранее – лимит на них установлен, и в последние дни можно уже не успеть.

P.S. Все знания, которыми выступающие делятся в рамках конференции, с любовью собраны под одной обложкой в специальной книге. Книга эта поставляется в комплекте с диском, на котором можно найти еще и видеоматериалы. Комплект этот бесплатный, но получают его только участники конференции. На всех докладах не успеешь побывать чисто физически, а так можно получить полную картину за те же деньги. Удобно!

Золотой спонсор

  • Вadoo

Золотой спонсор

  • Percona

Игровой партнёр

  • WarGaming

Генеральный интернет-партнёр

  • Mail.Ru Group

Бронзовые спонсоры

  • Microsoft

Бронзовые спонсоры

  • Nutanix

Серебряный спонсор

  • http://www.google.com/

Серебряный спонсор

  • Webzilla

Travel-спонсор

  • Интернет Хостинг Центр

Технический партнёр

  • Филанко

HR-партнёр

  • SuperJob

HeadHunter-партнёр

  • HeadHunter

Партнёр по персоналу

  • http://www.rabota.ru/

Фри-ланс партнёр

  • http://www.free-lance.ru/

Информационная поддержка

  • Макхост
  • TRINET
  • Интуит
  • Нетология
  • Elama
  • Rusonyx
  • SpaceWeb
  • PС Мagazine
  • http://www.hse.ru/
  • ServerNews
  • Бизнес-школа RMA
  • http://e-personal.ru/
  • Учебный центр Luxoft Training
  • Webnames.ru
  • ExpoMap.ru
  • Русская школа управления
  • Internest
  • ООО «Юмисофт»
  • Финам
  • HackDay
  • SoftKey
  • GISMETEO / ГИСМЕТЕО
  • Agilecamp
  • ESET CLUB
  • Агава
  • Digitale
  • Блогун
  • CMS Magazine
  • Bugtraq.ru
  • Xakep.ru
  • http://www.samag.ru/
  • SQLInfo.ru
  • http://webew.ru/
  • HSE INC
  • timeofnewz
  • Moscow Business School
  • REG.RU
  • PeterHost
  • RUcenter
  • Хостинг-Центр
По любым вопросам обращайтесь:
Программный комитет :
Олег Бунин , +7 (916) 635-95-84
Бухгалтерия и вопросы оплаты :
, +7(495) 646-07-68
Организационный комитет :
Олег Бунин , +7 (916) 635-95-84

Почтовый адрес:
119180, Москва, Бродников пер., д. 7 стр. 1, +7(495) 646-07-68, ООО «Онтико»

Rambler's Top100
Рейтинг@Mail.ru