Высокие нагрузки и мало закуски

Опубликовано: 00.00.0000, 00:00 Автор: Смирнов Федор
Высокие нагрузки и мало закуски Участников HighLoad ожидали не одни лишь рассказы об абстрактных перегрузках, когда под наплывом посетителей рушились мощные сервера, - высокие нагрузки большинству довелось испытать на собственной шкуре. Окончательно отчаявшиеся перекусить посетители шутили, что организаторы HighLoad сами же провалили нагрузочные тесты.
Конференция для веб-разработчиков, прошедшая в Москве 24-25 сентября, собрала толпы слушателей и запомнилась многим содержательными докладами, демократичным «Яндексом» и длиннющими очередями. Хотя последнее, возможно, не есть случайность или промах организаторов: как можно говорить о высоконагрузочных системах, если сам не ощущаешь себя одной из них?

Перегруженной конференция оказалась с утра, когда к началу первого доклада очередь из незарегистрированных участников извивалась почти до дверей выставочного центра. Тем, кто прорвался внутрь, предстояло разобраться в непростой процедуре получения бэджиков и материалов. Как это часто бывает, участников «разбили по буквам», но узнать, куда податься со своей фамилией было почти невозможно – стойку плотно заслоняли спины впереди стоящих. Количество участников давало о себе знать даже в огромных залах: народ толпился в дверях и проходах, а хорошенько разглядеть докладчика могла только половина аудитории. Давали о себе знать и тоненькие перегородки между залами – слушатели на фоне доклада улавливали довольно неприятное монотонное бубнение из соседнего помещения.

Излюбленной мишенью для жалобщиков стали кофе-брейки и обеды. Разработчики оказались прожорливы, но дисциплинированны. За остатками «шведского стола» многим приходилось стоять по 40 минут, чтобы затем второпях давиться едой после начала очередной секции. Пирожные сметались в течение 0,5 миллисекунды, при этом менее производительные программисты поглядывали на своих более удачливых коллег голодными глазами.

На фоне бытовых неприятностей мастерство докладчиков и умение организаторов держать ситуацию под контролем оказалось еще более заметным. За редкими исключениями, на HighLoad почти не было бледных докладов «на троечку», которыми грешат РИФ и КИБ. Было заметно, что большинство спикеров явно репетировали, да еще и постарались учесть специфику публики при подготовке докладов.

«Инфопространство» заполнила не армия болтливых маркетологов и руководителей, а сосредоточенные «очкарики»; изредка в этой мужской массе мелькали технари-девушки. По сравнению с другими отраслевыми мероприятиями, бросалось в глаза почти полное отсутствие представителей СМИ. Хотя оно и понятно – тематика довольно сложная и специфическая.

Попытка охватить одним репортажем все доклады «хайлодеров» наверняка закончилась бы перегрузкой. Ограничимся лишь некоторыми событиями прошедшей конференции.

Сферический Яндекс.Поиск в вакууме

Первый доклад «Яндекса» на HighLoad, разумеется, собрал большущую толпу любопытных, а манера Анатолия Орлова, руководителя отдела инфраструктуры веб-поиска компании, излагать «тайное знание» быстро перетянула слушателей из соседнего зала.

Для начала он поведал собравшимся, что «Интернет большой и на одну машину не влезает». Для решения этой проблемы «Яндекс» построил сразу два уровня – метапоиск и базовый поиск. Верхний слой отправляет пользовательские запросы «вниз», и каждый из базовых поисков возвращает по 10 результатов. Кэширование осуществляется на уровне метапоиска, коммуникация между «поисками» осуществляется посредством http-запросов.

Поисковые кластеры «Яндекса» представляют собой группу машин, которая может быть разбросана между разными дата-центрами. Все они работают независимо друг от друга, то есть «Яндекс» оставляет за собой право «варьировать» выдачу, в зависимости от кластера. Собравшимся продемонстрировали «секретный URL», позволяющий узнать, на какой из серверов направлен запрос. Количество «железа» в «Яндексе», как и следовало ожидать, стремительно растет: раньше для именования машин хватало букв, теперь их стали просто нумеровать.

Разработчикам была предложена старая задача про бассейн, который наполняют сотни труб, а слив ограничен лишь одной. В результате такого устройства «свитча» около 5% запросов задерживаются из-за сетевых потерь между «поисками». В итоге было предложено несколько решений: от «переткнуть» до введения еще одного уровня метапоиска, отправки информации два раза и небольшой задержки ответов. Дальше появился пустой слайд, «запрещенный организаторами». Там, по словам Анатолия Орлова, должно было быть написано, куда обращаться, если вы думаете, что поиск «Яндекса» устроен неправильно.

В ходе вопросов-ответов выяснилось, что индекс «Яндекса», который достигает уже около 3 млрд. документов, разбит на части «на глаз», в поиске не используется БД – там есть файл специального формата, а процент уникальных запросов к поисковику доходит до 50%.

Надо отметить, что и в последующих докладах «яндексоиды» держались очень бодро, всячески демонстрируя собственную открытость, готовность к диалогу и отсутствие корпоративных комплексов. Хотя фразы про «пить коньяк» и чрезмерная самоуверенность пришлись по душе не всем. Удивительно, но обычная напряженность между представителями «большой тройки» почти не ощущалась. Технари из «Яндекса» мирно толпились у стенда «Рамблера», а сотрудники Mail.Ru позволяли себе комментировать устройство конкурирующей почты лишь вполголоса.

nginx надо чтить

В этот же день участникам было дозволено заглянуть под капот еще одной «адской» машинки – на этот раз «Рамблер-почты». Выступление Максима Дунина трудно назвать зажигательным, однако несколько интересных почтовых фактов в докладе все-таки промелькнули.

Основными требованиями к высоконагруженной почте, по мнению спикера, являются масштабируемость и резервирование. Они достаточно очевидны – аппетиты постоянно растут, сервисы наперебой предлагают увеличить размер почтового ящика, при этом потерю писем пользователи воспринимают очень болезненно. В итоге вся махина образована набором «фронтэндов», на которых работает легкий веб-сервер nginx, некоторым реестром – directory и хранилищами данных, где, собственно, и расположены почтовые ящики пользователей. Интересно, что детище Игоря Сысоева используется не только для ответов на http-запросы, но и для маршрутизации по серверам хранения в случае с pop3 и даже для SMTP. Интересно, что в последующем докладе об архитектуре непоисковых сервисов представители «Яндекса» рассказали о собственном веб-сервере с шутливым названием baida. Сам же nginx вдохновил Mail.Ru на написание целого модуля FEST, который позволяет собирать портальные страницы из готовых блоков. Пока, правда, неизвестно, будет ли Mail.Ru столь же бескорыстной, как Игорь Сысоев: сейчас FEST закрыт для свободного использования.

Как оказалось, «Рамблер» - единственный из «тройки», кто использует gray-listing в почте. Почтовые же ящики пользователей «не размазаны» между серверами хранения, каждый из них привязан к определенной машине. Как только свободное место кончится, доступ к почте будет заблокирован, пока ящик не перенесут на другой сервер. Кстати, на этой же почтовой секции некий представитель «Голден Телекома» настойчиво расспрашивал Дунина о тонкостях, связанных с разработкой webmail. Кажется, эта компания, уже печально знаменитая несколькими интернет-проектами, вновь собирается изобретать велосипед.

Хостинг 2.0 – это наше все

Гвоздем второго дня однозначно должен был стать Джон Занни (John Zanni), руководитель «всея хостинга» Microsoft. Англоязычный доклад получился вполне в духе Редмонда: много красивых слов с абстрактным содержанием, реклама продуктов и визионерские размышления о будущем. Вся квинтэссенция доклада укладывалась в концепцию Software + Services, которую представитель софтверного гиганта долго и пространно излагал. Суть же сводится к тому, что модель «ПО как сервис» с каждым годом будет приобретать все больше сторонников. Хостинг в его традиционном смысле отомрет и при воскрешении получит приставку 2.0. Хостерам будущего уже не удастся полностью ограничить свою деятельность лишь размещением, им придется искать различным формы партнерства как с разработчиками «софта», так и с теми, кто располагает выходом на потребителя. И в этом деле Microsoft планирует быть впереди планеты всей.

Между делом Джон рассказал об IIS 7.0, который в предыдущих версиях был головной болью для многих хостинговых компаний. Теперь же это веб-сервер, созданный для хостинга. Так, должны исчезнуть проблемы с производительностью, появилась возможность гибкой настройки функционала, отключения лишнего. Более того, компания стремится, чтобы IIS в связке с PHP работал под Windows не хуже, чем под Linux.

Докладчик всячески в американской манере подчеркивал готовность Microsoft содействовать росту бизнеса каждого из участников HighLoad, говорил о программах для начинающих, справочной и консультационной поддержке. Самое же интересное началось, как только дали слово самим слушателям.

Так, один из разработчиков поинтересовался, собирается ли Microsoft улучшать PHP. Пришлось вмешаться местному «редмондцу» Петру Диденко и объяснить, что целью сотрудничества с Zend является работа «не хуже, чем под Linux». А вообще у Microsoft есть своя платформа. Сотрудник Sun Microsystems полюбопытствовал, можно ли будет использовать сервисы софтверного гиганта через Google API и планируется ли связка между Microsoft Passport и технологией openid. Оказалось, что о последней американец вообще слыхом не слыхивал.

Забавный доклад еще одного представителя Microsoft – Гайдара Магданурова – был посвящен работе высоконагруженного microsoft.com. Так, ненавистный каждому уважающему себя хакеру сайт работает на 80 серверах, которые сгруппированы в кластеры по 8 машин в каждом и рассредоточены по дата-центрам. По всякому случаю пишется лог, который внимательно разбирает специальное подразделение. Во время непродолжительного рассказа докладчик несколько раз запутался. По его данным, microsoft.com – седьмой по популярности сайт во Всемирной сети – имеет лишь 290 млн. посетителей в год. Осознав, что он где-то промахнулся, Гайдар, не моргнув глазом, попросил самих участников посмотреть, какова же посещаемость этого ресурса, а самому расторопному была обещана коробка с Windows Vista.

Коробочная зависимость и таргетинг по френдам

Конечно, написание своего «яндекса» или «рамблера» с нуля укладывается далеко не во всякий бюджет высоконагрузочного проекта. Стенд «1С-Битрикса», где демонстрировались миллионы хитов и тысячи посетителей, недвусмысленно указывал на то, что впереди - разговор о преимуществах коробочных решений. На этот раз в роли адвоката «коробки» выступил Михаил Токовинин из компании QSOFT. Он начал с разумных доводов о том, что для 90% проектов нужен стандартный функционал, а требования к производительности разработчики, особенно начинающие, склонны завышать. В этом смысле «коробка» позволяет за сравнительно небольшие деньги быстро получить готовый прототип, в котором будет все необходимое. К тому же хорошее коробочное решение постепенно развивается, в том числе растет и «потолок» по нагрузке.

В качестве примеров он апеллировал к известным проектам своей компании – «Эльдорадо», E-perspektiva.ru и сайту интернет-магазина «1С». Проблемы «коробки» оказались такими же прозрачными, как и плюсы. Компания-разработчик, полностью сосредоточившаяся на оказании услуг на определенной платформе, попадает в опасную зависимость. Сам же Михаил признался, что пятая версия «Битрикса» не устроила «Эльдорадо», зато тесты успешно прошла 5.1. Устойчивость к нагрузкам будет расти до тех пор, пока самим разработчикам CMS выгодно развивать продукт в этом направлении. Что, если ситуация изменится?

Михаил Токовинин назвал нынешний «потолок» стандартного решения – 100 тыс. хитов в сутки. При этом он признал, что проблема пиковых нагрузок (совершенно безумные рекламные кампании) решается старым способом – предоставлением пользователям обычной HTML-страницы, которую можно выложить на отдельную машину.

Противники стандартных решений – разработчики из SUP Fabrik – рассказали об изобретении собственного велосипеда. Они сами написали платформу для показа рекламы в LiveJournal.com, к которой смогут присоединиться и другие блог-хостинги. Причина банальна: ни одно из протестированных решений не умело делать то, что требовалось.

Получившийся результат может сегментировать аудиторию, учитывает особенности таргетинга по блогам, лишен ограничений на количество условий и умеет показывать рекламу на мобильных сервисах. Система способна проводить выборки по 100 тыс. баннеров одновременно, а в планах – работа с поведенческим таргетингом, API для автоматического запуска баннеров и система бронирования трафика. В дополнение к этому «крутилка» «СУПа» сможет осуществлять весьма сложный таргетинг - по совпадениям интересов френдов и владельца онлайнового дневника, проводить анализ постов и т.п.

***

Критика в адрес организаторов, конструктивная и не очень, сквозит во многих постах блогеров, обсуждающих прошедшую конференцию. Высокие нагрузки не выдержали слишком живого интереса к ним. И это, наверное, даже хорошо. Ни слушателям докладов, ни людям, сбившимся в «кружки по интересам» в коридоре, скучать не пришлось, и это оставляет надежду на новый - возмужавший и «прокачанный» - HighLoad-2008.

Добавьте комментарий
Для размещения комментария необходима регистрация или авторизация:
 пользователь:   
 запись OpenID: 


Заработай деньги
на своём сайте!
Новый сервис монетизации СМИ и блогов.
Приглашаем сайты к бета-тестированию →
Новости СМИ2

ТЕМА НЕДЕЛИ


Rambler's Top100
игра бильярд на компьютер