Как стать автором
Поиск
Написать публикацию
Обновить
130.19

Высоконагруженные системы *

Методы получения высокой производительности систем

Сначала показывать
Порог рейтинга
Уровень сложности

Возле дата-центра Amazon упал столб: пятый даунтайм за неделю

Время на прочтение1 мин
Количество просмотров839
Во вторник один из дата-центров Amazon полностью лишился электропитания из-за того, что возле здания автомобиль случайно врезался в столб и повредил линию электропередачи. К сожалению, переключение на питание от генераторов не сработало как нужно, и в результате серверы EC2 стояли обесточенными некоторое время. Как сообщается, для некоторых клиентов с восточного побережья США даунтайм продлился больше часа. Это уже пятый (!) сбой в работе Amazon EC2 за последнюю неделю.

Подробности инцидента тоже весьма любопытны. Дело в том, что сначала питание нормально переключилось на генераторы, но от упавшего столба произошёл мощный импульс в землю возле дата-центра, и от него сработал предохранительный датчик, который должен отслеживать проблемы с заземлением внутри дата-центра. Из-за ошибочного срабатывания датчика система безопасности мгновенно автоматически обесточила здание, чтобы защитить оборудование.

Молекула йода в тысячу раз мощнее среднего ПК

Время на прочтение1 мин
Количество просмотров3.1K
Демонстрация квантовых вычислений, проведённая японскими исследователями, наглядно продемонстрировала удивительный для кого-то факт: обычная молекула способна выполнять математические операции в тысячи раз быстрее, чем персональный компьютер.

В качестве теста было выбрано дискретное преобразование Фурье, стандартная операция, которая используется во многих областях технологий — в обработке сигналов, теории вероятностей, статистике, криптографии, акустике, сжатии MP3, сжатии JPEG и т.д. Оказалось, что молекула йода выполняет такое преобразование на несколько порядков быстрее, чем процессор обычного персонального компьютера.

Результаты своей работы японские учёные опубликовали в журнале Physical Review Letters [Kouichi Hosaka, Hiroyuki Shimada, Hisashi Chiba, Hiroyuki Katsuki, Yoshiaki Teranishi, Yukiyoshi Ohtsuki, Kenji Ohmori. Ultrafast Fourier Transform with a Femtosecond-Laser-Driven Molecule. Physical Review Letters, 2010; 104 (18): 180501 DOI: 10.1103/PhysRevLett.104.180501], отзыв на их работу есть в свободном доступе.

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

via Science Daily

Разработка системы распределенных вычислений для мобильных платформ

Время на прочтение3 мин
Количество просмотров3.8K

Откуда есть пошла


Не так давно выпустился я из такого занимательного (судя по временным затратам, на бесполезную деятельность) заведения, как университет. Ну, казалось бы, закончил учебу, так живи и радуйся. Работай, плати налоги, в общем, будь добр, отрабатывай то, что вложило в тебя государство. Вот все бы хорошо, но незадолго до выпуска увлекла меня одна любопытная тема- тема распределенных вычислений. Ведь это же прям коллективный “разум”, “взаимовыручка” среди железной братии. Забавно, не правда ли?! Да и хочется двигать науку, аж зубы ноют.
Читать дальше →

Про сайт metro29.ru

Время на прочтение2 мин
Количество просмотров1.2K
Здравствуйте. Сегодня я вам хочу рассказать о том, кто и зачем сделал сайт metro29.ru.
Всё дело в том, что многие в интернете озадачились вопросом откуда и для чего это было сделано.
На сайте чётко и ясно было написано для каких целей он создан. Всё равно большая часть народа не верила. Ну не верит народ, что существуют люди в нашей стране, которые делают что-то не выгоды ради, а помощи для.
подробности

Отладка Hadoop приложений

Время на прочтение6 мин
Количество просмотров5.1K
Сколько бы ни говорили, что логи способны полностью заменить отладку, увы и ах — это не совсем так, а иногда — совсем не так. Действительно, иногда и в голову не придет, что надо было писать в лог именно эту переменную — в то же время, в режиме отладки можно часто просмотреть сразу несколько структур данных; можно, в конце концов, наткнутся на проблемный участок абсолютно случайно. Поэтому иногда отладка неизбежна, и часто она способна сэкономить очень немало времени.

Отлаживать однопоточное Java приложение просто. Отлаживать многопоточное Java приложение — чуть сложнее, но все равно просто. Отлаживать мультипроцессное Java приложение? С процессами, запущенными на разных машинах? Это определенно сложнее. Именно поэтому все руководства по Hadoop рекомендуют обращаться к отладке только и исключительно тогда, когда другие опции (читай: логгинг) исчерпаны и не помогли. Ситуация зачастую усложняется тем, что на больших кластерах у вас может и не быть доступа к конкретным map/reduce узлам (именно с этим вариантом я и столкнулся). Но давайте решать проблему по частям. Итак…

Сценарий первый: локальный Hadoop


Самый простой вариант из всех возможных. Локальная инсталляция Hadoop — все выполняется на одной машине, и более того — в одном процессе, но в разных потоках. Отладка эквивалентна отладке обычного мультипоточного Java приложения — что может быть тривиальнее?

Как же этого добиться? Мы идем в директорию, где у нас развернут наш локальных Hadoop (я полагаю, что вы умеете это делать или умеете прочитать соответствующую инструкцию и уже теперь с этим справитесь).

    $ cd ~/dev/hadoop
    $ cp bin/hadoop bin/hdebug
    $ vim bin/hdebug

Наша задача — добавить еще одну опцию JVM, где-то в районе 282-283 строки (в зависимости от версии, номер может и измениться), сразу после того, как скрипт закончил формировать $HADOOP_OPTS:
Читать дальше →

Новостные сайты не готовы к высокой нагрузке

Время на прочтение4 мин
Количество просмотров2K
Два часа назад начались взрывы в Метро (горячая линия: 637-22-22, 622-14-30 и 624-34-40, список пострадавших, больницы, где сдать кровь, куда сообщить об опасности).
Я наблюдаю за новостными сайтами. Практически все они (из тех, которые обычно читаю я) не справляются с нагрузкой и «лежат», а именно:
  • lenta.ru — открывается 1 раз из 5, в заголовках опечатки.
  • gazeta.ru — открывается 1 раз из 10.
  • interfax.ru — поначалу открывался с ошибками ASP и битыми ссылками, теперь вообще недоступен.
  • mosmetro.ru — не работает вообще

Благоразумно поступили на rian.ru — если я правильно понял, они перевели весь сайт в мобильный (облегчённый) режим, так что страницу отдают без задержек.

Читать дальше →

Дата-центры охлаждают ветром

Время на прочтение2 мин
Количество просмотров1.4K
На северо-востоке Англии, возле городка Биллингем, введён в строй дата-центр с уникальной системой охлаждения, которая использует ледяной ветер с Северного моря. Климатические условия таковы, что ветер дует стабильно и постоянно, причём всегда почти в одном направлении. Для системы вентиляции дата-центра это идеальные условия.

Воздушные потоки из атмосферы сначала пропускают через фильтры (интересно, как они фильтруют солёный воздух?), а потом через восемь 2,2-метровых вентиляторов они поступают прямо на серверные стойки: см. виртуальный тур по зданию. Таким образом, в рабочем помещении дата-центра поддерживается постоянная температура 24°C. Когда ветер становится слишком холодным, то в системе вентиляции его слегка подогревают от теплообменников, которые снимают тепло с серверов.

Дата-центр Wynyard построен подрядчиком EDS для компании HP.
Читать дальше →

Google переходит на EXT4

Время на прочтение1 мин
Количество просмотров2.2K
Google приступил к апгрейду файловой системы на своих серверах. Предварительно было проведено тестирование трёх файловых систем XFS, EXT4 и JFS с точки зрения быстродействия. Оказалось, что при гугловских нагрузках EXT4 и XFS показывают примерно одинаковый результат, но для простоты апгрейда с существующей EXT2 была выбрана именно EXT4. Об этом сотрудники компании сообщили в специализированном листе рассылке, посвящённом EXT4.

Как сообщается, миграция закончена уже на 50%, но осталось самое трудное: перевести на новую файловую систему самые ресурсоёмкие приложения, включая Gmail (″ext4 is already moving the bottleneck away from the storage stack for some of our most intensive applications″).

Специально для проведения финальной стадии апгрейда на работу в Google был приглашён известный активист Linux-сообщества Ted T'so, он же главный разработчик файловых систем EXT2, EXT3 и EXT4.

nginx + apache. Кеширование

Время на прочтение4 мин
Количество просмотров20K
Привет, %username%
Тут я хочу рассказать о том, как я настраивал кеширование на одном сервере, точнее VDS. Характеристики сервера: 2000MHz, 2GB RAM, 80Gb HDD, технология виртуализации — OpenVZ.
Было решено использовать Nginx версии 0.7.64. На сервере находилось около 200 сайтов. И несколько высоко нагруженных проектов. Вот эти самые проекты и давали ощутимые тормоза и нагрузку на сервер. Мы будем рассматривать DLE в этом примере.
Читать дальше →

Realplexor: производительный Comet-сервер с API для PHP и Javascript (realtime)

Время на прочтение5 мин
Количество просмотров21K
Dklab Realplexor — это Comet-сервер, позволяющий держать одновремено сотни тысяч долгоживущих открытых HTTP-соединений с браузерами пользователей. JavaScript-код, запущенный в браузере, подписывается на один или несколько каналов Realplexor-а и вешает обработчик на поступление данных. Сервер может в любой момент записать сообщение в один из таких каналов, и оно будет моментально передано всем подписчикам (хоть одному, хоть тысяче), в режиме реального времени и с минимальной нагрузкой для сервера.

Хотя идейным вдохновителем Realplexor-а был предыдущий проект, dklab_multiplexor, код Realplexor-а не имеет с ним практически ничего общего. Поэтому я и решил сменить название. Несопоставимы также возможности продуктов (см. ниже), да и размер кода увеличился в 7 раз.

Realtime-направление сейчас довольно активно развивается на Западе, и в нем особенно выделяется продукт Tornado — событийно-ориентированный веб-сервер на языке Python. Правда, Tornado — это не столько Comet-сервер, сколько инструмент, с помощью которого можно запрограммировать «в том числе» и Comet-сервер. Ключевые слова: Comet, Push Server, Long polling, JavaScript, XMLHttpRequest.

Главные преимущества Realplexor-а:
  • простота использования: наличие API для JavaScript, API для PHP (в будущем — и для других языков);
  • простота конфигурирования;
  • широкий функционал (либо отстутствующий, либо недоступный напрямую в аналогах).

Лучше один раз увидеть...


Я сделал отдельную онлайн-песочницу, чтобы продемонстрировать функционал нового Realplexor-а и то, для чего вообще нужны Comet-серверы (кстати, это физически тот же самый демон Realplexor-а, что использует мой новый стартап РуТвит). Песочница реализует что-то типа многоканального чата: зайдя, вы получите как будто бы 2 независимых «браузера», запущенных на разных компьютерах.
  • Верхний «браузер» отображает каналы — в них моментально появляются новые сообщения, как только кто-то их туда отправляет на стороне сервера. Конечно же, эту страницу могут просматривать одновременно сотни тысяч пользователей, и они все будут видеть одно и то же (реализовано с использованием Realplexor JavaScript API). Можно «на лету» добавлять новые каналы (подписка) или скрывать уже имеющиеся (отписка).
  • Нижний браузер содержит формы, позволяющие добавлять сообщение в произвольный канал, указав его имя. Форма AJAX-ом отправляется на сервер, и уже там PHP-скрипт записывает в Realplexor полученный текст через PHP API. (И да, так можно чатиться.)
По умолчанию на странице открыто 3 канала с именами Alpha, Beta и RuTvit. Но, конечно, вы можете закрыть эти каналы и открыть новые. Вот, например, страница с единственным открытым каналом по имени Habrahabr: http://rutvit.ru/realplexor/demo?ids=Habrahabr.



Песочница демонстрирует следующие функции Realplexor-а:
Читать дальше →

Установка PHP-FPM на Debian из пакетов

Время на прочтение3 мин
Количество просмотров13K
PHP-FPM — патч к PHP, предоставляющие альтернативный интерфейс FastCGI. Обычно используется с nginx в проектах с высокими нагрузками или дефицитом ресурсов. Для удобной и упрощенной инсталляции мы собрали PHP-FPM в пакет для Debian 5 Lenny. Последнюю пару недель тестировали и тюнили, сейчас выложили в публичный доступ. Над пакетами в поте лица трудился viliar, которому дружно направляем за это благодарности и карму. Багрепорты и замечания приветствуются, лучше комментами к посту.

Инструкция по установке


Читать дальше →

Нагрузочное тестирование «по-быстренькому»

Время на прочтение3 мин
Количество просмотров212K
Может кому будет интересно как «по-быстрому» провести нагрузочное тестирование своего веб-приложения.
Подробности под катом
Читать дальше →

Готовимся к Хабра-эффекту

Время на прочтение3 мин
Количество просмотров13K
Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 20%, что же говорить о менее крупных веб-сайтах?

Такую проверку обязательно нужно проводить перед выпусками новых продуктов, а также перед сезоном массовых покупок (для России это время в канун Нового Года и Рождества). Итак, с чего начать?
Читать дальше →

Ближайшие события

SpeedGeeks L.A. – October 26, 2009 (Videos + Presentations)

Время на прочтение1 мин
Количество просмотров599
26 октября 2009 года состоялась SpeedGeeks L.A. в Южной Калифорнии.
Тематика — достижение высокой производительности веб-сайтов.

Вашему вниманию хотелось бы представить видео и презентации. Которые недавно были опубликованы.

Videos All
Читать дальше →

Китай и AMD покоряют рейтинг суперкомпьютеров

Время на прочтение1 мин
Количество просмотров1.1K
Вчера опубликован 34-й рейтинг мощнейших суперкомпьютеров мира Top 500, в котором произошёл ряд изменений. Совокупная мощность 500 лучших суперкомпьютеров мира за полгода выросла с 22,6 до 27,6 петафлопсов. И сменился лидер: на первое место вышел суперкомпьютер Jaguar (1,76 петафлопса), после апгрейда в Окриджской национальной лаборатории США.

В десятку Top 500 впервые попал и китайский суперкомпьютер, причём сразу на пятое место. Прорыв совершила машина Tianhe-1 (средняя производительность 563,1 терафлопса, пиковая — 1,2 петафлопса) на гибридной основе Intel-AMD. Вот оно, детище Национального университета оборонных технологий Китая.



За пару недель до публикации Top 500 китайцы уже нацелились на третье место и заявили, что стали второй страной в мире, которой покорился рубеж в 1 петафлопс. Но они жёстко просчитались по обоим пунктам. Место заняли лишь пятое, да и 1 петафлопс взяли одновременно с немцами.
Читать дальше →

Отдаём статику nginx'ом

Время на прочтение2 мин
Количество просмотров5K
Начиная с версии 0.8.11 в nginx появилась новая возможность для раздачи статики — использование AIO (Asyncronous Input-Output — неблокирующий ввод-вывод) для Linux и FreeBSD.

Чем это событие знаменательно? До этого момента nginx использовал неблокирующий режим только при работе с сетью — любая работа с файлами блокировала рабочий процесс. К чему это приводило? Если у вас есть много разного контента, который не весь находится в кэше ОС (фотохостинг, etc) — то рано или поздно все 50, 150, 200 процессов будут ждать дисковые операции и не смогут обслужить нового клиента — даже если нужный ему контент можно отдать из файлового кэша или запросить с бэкенда.

Как с этим боролись раньше?

Протокол SPDY ускорит Сеть вдвое

Время на прочтение1 мин
Количество просмотров4.8K
Разработчики из компании Google только что объявили, что работают над новым сетевым протоколом SPDY (читается как SPeeDY, то есть «быстрый»), который должен проапгрейдить протокол HTTP и значительно повысить скорость работы всех типов соединений.

SPDY позволяет вдвое уменьшить задержку (latency) при работе через HTTP. Делается это за счёт трёх методов:

1) мультиплексирование запросов;
2) расстановка приоритетов для запросов;
3) сжатие заголовков HTTP.

Чтобы продемонстрировать все возможности SPDY, инженеры Google подняли тестовый веб-сервер и выпустили специальную версию браузера Chrome.

По итогам предварительного тестирования на канале максимальной толщины, выигрыш в скорости загрузки для 25 крупнейших сайтов интернета составлял до 55%.

OpenCL. Практика

Время на прочтение8 мин
Количество просмотров45K


Здравствуй, уважаемое хабрасообщество.

В предыдущих статьях мы рассмотрели OpenCL в целом, потом подробно вникли в суть стандарта и разобрали на каких идеях базируется эта технология.
OpenCL. Что это такое и зачем он нужен? (если есть CUDA)
OpenCL. Подробности технологии
Теперь настало время пощупать эту технологию живьем.
Читать дальше →

OpenCL. Подробности технологии

Время на прочтение10 мин
Количество просмотров38K


Здравствуй, уважаемое хабрасообщество.

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

читать дальше

Подводные камни при использовании кэширования в nginx

Время на прочтение10 мин
Количество просмотров58K
В web-сервер и reverse-proxy nginx встроены очень мощные возможности по кэшированию HTTP-ответов. Однако в ряде случаев документации и примеров не хватает, в результате не все получается так легко и просто, как хотелось бы. Например, мои конфиги nginx-а местами написаны кровью. Этой статьей я попробую немного улучшить ситуацию.

В этой статье: а) подводные камни при полностраничном кэшировании; б) кэширование с ротацией; в) создание динамического «окна» в закэшированной странице.

Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если вы применяете nginx+apache+mod_php, просто замените имена директив с fastcgi_cache* на proxy_cache*

Если выбирать, кэшировать ли страницу на стороне PHP или на стороне nginx, я выбираю nginx. Во-первых, это позволяет отдавать 5-10 тыс. запросов в секунду без каких-либо сложностей и без умных разговоров о «высокой нагрузке». Во-вторых, nginx самостоятельно следит за размером кэша и чистит его как при устаревании, так и при вытеснении нечасто используемых данных.

Кэширование всей страницы целиком


Если на вашем сайте главная страница хоть и генерируется динамически, но меняется достаточно редко, можно сильно снизить нагрузку на сервер, закэшировав ее в nginx. При высокой посещаемости даже кэширование на короткий срок (5 минут и меньше) уже дает огромный прирост в производительности, ведь кэш работает очень быстро. Даже закэшировав страницу всего на 30 секунд, вы все равно добьетесь значительной разгрузки сервера, сохранив при этом динамичность обновления данных (во многих случаях обновления раз в 30 секунд вполне достаточно).
Читать дальше →

Вклад авторов