Рубрика «высокая производительность» - 148

Как мы мигрировали миллионные страны за рабочий день Badoo — крупнейшая в мире социальная сеть для знакомств с новыми людьми, насчитывающая 190 миллионов пользователей.
Все данные хранятся в двух дата-центрах — европейском и американском. Некоторое время назад мы исследовали качество интернет-соединения у наших пользователей из Азии и обнаружили, что для 7 миллионов пользователей наш сайт будет загружаться в 2 раза быстрее, если мы переместим их из европейского дата-центра в американский. Перед нами впервые встала задача крупномасштабной миграции данных пользователей между дата-центрами, с которой мы успешно справились: мы научились перемещать 1,5 миллиона пользователей за один рабочий день! Мы смогли перемещать целые страны! В первой части мы подробно расскажем о поставленной перед нами задаче и о том, какого результата мы достигли.
Читать полностью »

Если вам интересно, какой недочёт есть во всех вебприложениях на языке Go размещенных на хабре. И хотите знать, как сделать своё Go вебприложение на один шаг ближе к production ready, то добро пожаловать по кат.
Читать полностью »

В прошлой статье речь шла о том, как Big Data вообще и продукты LSI в частности позволяют предсказывать погоду, и почему это так важно. С момента выхода той статьи произошло одно интересное событие, подтверждающее важность затронутой темы. Всем известная компания Monsanto, мировой лидер биотехнологии растений приобрела компанию The Climate Corporation из Сан-Франциско за 930 миллионов долларов, последняя как раз занимается анализом «больших данных» связанных с погодой и климатом. По словам СЕО Monsanto: «Climate Corporation фокусируется на том, чтоб предоставить сельскому хозяйству больше возможностей за счет науки обработки данных». Но, разумеется, не одними только прогнозами состояния атмосферы полезны для нас «большие данные», давайте рассмотрим еще пару интересных применений.

Каждый год, в конце осени — начале зимы, мы все с определенной покорностью ожидаем начала неизбежной эпидемии гриппа. Несмотря на относительную «безопасность» этой болезни, часто она способна дать огромные осложнения, а ежегодное число жертв по всему миру по данным ВОЗ составляет от 250 до 500 тысяч человек.

Большие данные — неотъемлемая часть нашей жизни
Читать полностью »

В прошлом году Америке не слишком повезло – в конце октября на нее обрушился тропический ураган Сэнди – восемнадцатый атлантический циклон с женским именем и неженским характером. Не соврем, если скажем, что запомнился он жителям всей планеты, хотя и не был самым мощным в истории человечества – тому виной вышедший ранее на большие экраны фильм-катастрофа «2012», в котором предсказания индейцев Майя о конце света, который якобы должен наступить именно в 2012 году, трактовались весьма однозначно: мир погибнет от сильнейших землетрясений и цунами. И вот, события фильма стали разворачиваться в режиме реального времени, и наблюдать за этим страшно было даже по телевизору – что уж говорить о жертвах и свидетелях разбушевавшейся стихии.Читать полностью »

Производительность фронтэнда. Часть 2 — кешируем динамический контент с помощью etagifyОт переводчика: Это шестая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.


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

Эта статья посвящена etagify — модулю middleware для Connect, который генерирует ETag-и на лету на основе MD5-хешей ответов, и хранит эти хеши в памяти. Etagify избавляет от лишней рутины при сборке проекта, предельно прост в использовании и увеличивает производительность больше, чем можно было бы ожидать (в своих тестах мы получили ускорение загрузки страниц на 9%):

myapp = require('express').createServer();
myapp.use(require('etagify')());
...
app.get('/about', function(req, res) {
  res.etagify(); 
  var body = ejs.render(template, options);
  res.send(body);
});

Читать полностью »

Пишем сервер, который не падает под нагрузкойОт переводчика: Это пятая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.


Как написать приложение Node.js, которое будет продолжать работать даже под невозможной нагрузкой? В этой статье показана методика и библиотека node-toobusy, её воплощающая, суть которой наиболее кратко может быть передана этим фрагментом кода:

var toobusy = require('toobusy');
 
app.use(function(req, res, next) {
  if (toobusy()) res.send(503, "I'm busy right now, sorry.");
  else next();
});

В чём заключается проблема?

Если ваше приложение выполняет важную задачу для людей, стоит потратить немного времени на раздумья над самыми катастрофичными сценариями. Это может быть катастрофа в хорошем смысле — когда ваш сайт попадает в фокус внимания социальных медиа, и вместо десяти тысяч посетителей за сутки к вам вдруг приходит миллион. Подготовившись заранее, вы можете создать сайт, который выдержит внезапный всплеск посещаемости, превышающий обычную нагрузку на порядки. Если же этими приготовлениями пренебречь, сайт ляжет именно тогда, когда вы меньше всего этого хотите, когда он у всех на виду.

Это может быть и злонамеренный всплеск трафика, например от DoS-атаки. Первый шаг к борьбе с такими атаками — написание сервера, который не падает.
Читать полностью »

Представьте, что вы можете выступить спонсором какого-нибудь захватывающего спортивного мероприятия. Чемпионата мира по футболу, например, или соревнований по синхронному плаванью. Было бы круто, правда? А нам, кстати, тоже есть чем похвастаться: Dell официально поддерживает команду «Формулы-1» Caterham. Ну, а кто с детства не мечтал поучаствовать в гонках или хотя бы посидеть за рулем настоящего болида? Тем более, что скорость для нас не в диковинку – все знают, какими шустрыми бывают сервера Dell: ) Читать полностью »

Охотимся за утечками памяти в Node.js (1 я из 12 статей о Node.js от команды Mozilla Identity)От переводчика: Это первая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Как клиентская, так и серверная часть Persona написаны на JavaScript. В ходе работы команда проекта создала несколько инструментов на все случаи жизни — от локализации до отладки, управления зависимостями и многого другого. В этой серии статей разработчики Mozilla делятся с сообществом своим опытом и этими инструментами, которые пригодятся любому, кто пишет высоконагруженный сервис на Node.js.

Первая статья цикла посвящена распространённой проблеме Node.js — утечкам памяти, особенностям утечек в высоконагруженных проектах и библиотеке node-memwatch, которая помогает найти и устранить такие утечки в Node.


Зачем заморачиваться?

Вы можете спросить, зачем вообще отслеживать утечки памяти? Неужели нет более важных дел? Почему бы просто не перезапускать процесс время от времени, или просто добавить памяти на сервер? Есть три причины, по которым устранять утечки всё-таки важно:

  1. Возможно, вы не сильно переживаете об утечках памяти, но этого нельзя сказать о V8 (движок JavaScript на котором работает Node). Чем больше памяти занято, тем активнее работает сборщик мусора, замедляя ваше приложение. Так что в Node утечки напрямую вредят производительности.
  2. Утечки могут привести к другим проблемам. Протекающий код может блокировать ограниченные ресурсы. У вас могут закончиться файловые дескрипторы или вы вдруг не сможете открыть ещё одно соединение с БД. Такие проблемы могут возникнуть задолго до того, как кончится память, но обрушат ваше приложение ничуть не хуже.
  3. Рано или поздно ваше приложение упадёт. И это наверняка случится во время наплыва посетителей. Вас все засмеют и будут писать про вас гадости на Hacker News.

Читать полностью »

С 2006 года капитальные расходы Google составляют более $21 млрд, основная их часть приходится на строительство дата-центров, закупку серверов и сетевого оборудования. Строительство каждого дата-центра требует обычно инвестиций от $200 млн до $600 млн.

Google потратил почти $21 млрд на постройку дата центров
Техник Google работает в орегонском дата-центре

Такие масштабы действительно поражают. Хотя точные размеры инвестиций в дата-центры не известны, но это в любом случае гигантская сумма. В каждого из нас, пользователя бесплатных сервисов Google, компания уже вложила минимум 10-20 долларов капитальных инвестиций.
Читать полностью »

18 сентября американский «центральный банк» — Федеральная резервная система — выступил с заявлением о том, что не будет сворачивать свою программу разбрасывания денег с вертолёта «количественного смягчения», в рамках которой в американскую экономику вкачивается 85 млрд долл. ежемесячно.

Хабр — не экономический сайт, поэтому не будем говорить ни про споры экономистов о «затягивании поясов» в кризис против идеи «накачки» экономики деньгами, ни про современный капитализм в целом. Интересен процесс и его технологическая изнанка.

Для биржевого игрока новость о том, будет ли ЦБ тратить 85 млрд практически бесплатных денег или нет — очень большая. Нет, правда, очень-очень большая. А поскольку современная западная биржевая культура к инсайдерской торговле относится как к тяжкому преступлению, обнародование решения обставлено весьма тщательно.

Журналисты прибывают в офис Федрезерва к 13:45 дня анонса и собираются в помещении для прессы, после чего двери за ними закрываются. В 13:50 сотрудники ФРС раздают им текст решения, чтобы дать прессе возможность ознакомиться со сложным финансовым текстом. В 13:58 тележурналистам разрешают пройти на балкон к своим камерам. «Пишущим» журналистам разрешается набрать телефон своей редакции. Но правила ФРС не разрешают ни тем, ни другим произносить ни единого слова строго до 14:00 — времени, которое сверяют по «национальным атомным часам» в Колорадо. Электронные СМИ, естественно, имеют преимущество — написанная второпях выжимка о сути решения попадает на новостные ленты мгновенно после окончания «эмбарго».

Что изумило всех следивших за процессом в этот раз — это то, что за 7 миллисекунд, за которые свет теоретически может добежать 960 километров от Вашингтона до биржи в Чикаго по оптоволоконному кабелю, высокочастотные трейдеры его оценили и следом провели сделок на сложно вообразимые 600 млн долл., сняв самые отборные сливки с последовавшего затем бурного роста на позитивных новостях.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js