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

В данном небольшом посте я бы хотел поделиться своими мыслями насчёт скорости работы скриптов/программ, которые мы с вами пишем каждый день и обратить внимание на то, сколько «невидимой» работы совершается при выполнении привычных действий.

Выполнение SQL-запросов

Все знают, что работа с SQL обычно является одной из самых медленных компонентов любого сайта. Есть ли какие-то объективные причины для этого? Действительно ли базы данных такие медленные и срочно нужно переходить на NoSQL :)? Давайте посмотрим.

Создадим тестовую табличку в MySQL и наполним её 1 млн записей:

Код на PHP!

<?php
mysql_connect(...) or die("Cannot connectn");
mysql_select_db(...) or die("Cannot select DBn");

mysql_query('CREATE TABLE IF NOT EXISTS `one_million` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `one` int(11) NOT NULL,
  `two` int(11) NOT NULL,
  `three` int(11) NOT NULL,
  `four` int(11) NOT NULL,
  `five` int(11) NOT NULL,
  `six` int(11) NOT NULL,
  `seven` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB') or die("Cannot create tablen");

for ($i = 0; $i < 1000000; $i++) {
if ($i % 1000 === 999) echo "Done $in";
mysql_query('INSERT INTO one_million VALUES(NULL, ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ')');
}

// Да, код не использует batch insert, а также использует устаревшее, но до сих пор работающее расширение mysql

Давайте теперь выполним какой-нибудь простенький запрос, который прочитает нам 1 млн записей:

SELECT COUNT(*) FROM one_million WHERE three = 333

На моем компьютере запрос выполнился за 200 мс! Таким образом, можно заключить, что InnoDB в состоянии просмотреть около 5 млн записей за 1 секунду! Давайте подумаем, где же на веб-сайтах может потребоваться просматривать столько записей на одну страницу :)? На моей прошлой работе я принудительно выставил ограничение в 20 000 просмотренных строк на все SQL-запросы, и после вычищения всех «тормозных» мест время открытия страницы упало в 5 раз!
Читать полностью »

Очень тривиальное, но боевое решение, где-то на грани Unix Way. Я покажу только метод решения, без привязки к каким-то конкретным средам. Реализуйте по своему вкусу и убеждениям.

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

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

Те, кто интересуется highload-системами, читали про архитектуры Twitter, Facebook и прочие другие. Но никогда еще не было публикаций о системах такого класса, как Диадок. В отличие от Twitter, эта система не является бесплатной и доступной всем и содержит довольно большой слой бизнес-логики, предназначенной для решения задач из конкретной предметной области.

Пару слов вкратце о системе: для чего она предназначена. Чтобы было сразу понятно, что это такое, представьте web-интерфейс для почты, но это не совсем почта, точнее, совсем не почта. Данная система предназначена для обмена документами. Основные документы – это счета-фактуры и накладные. При этом электронные документы являются юридически значимыми, имеют такую же силу, как и бумажные документы с печатями и подписями.

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

Разработан алгоритм, позволяющий значительно увеличить пропускную способность оптоволоконных сетей

Группа учёных, работающих в Австралийском Центре Устройств Сверхвысокой Пропускной Способности для Оптических Систем (CUDOS), разработала алгоритм кодирования данных, который может существенно увеличить эффективность существующих оптических сетей. По утверждению исследователей, их разработка позволит передавать весь мировой трафик по единственному волокну!
Читать полностью »

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

Консорциум Hybrid Memory Cube, в который входят больше 100 компаний, включая IBM, Cray, HP, ARM и двух основателей консорциума — Samsung и Micron — опубликовал окончательную версию спецификации HMC.

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

Блейд-сервера RLX Technologies

Комментарии к некоторым постам хабра заставили задуматься, есть ли понимание у народа о серверах высокой плотности и их возможностях. Целью написания данного поста является внесение определенности по этому вопросу. Также планируется, что этот пост станет первым в череде статей на тему HPC (high performance computing, высокопроизводительные вычисления).

Сервера высокой плотности наиболее востребованы в технологиях построения суперкомпьютеров кластерного типа, систем виртуализации и организации облаков, систем параллельного доступа к системам хранения, систем аналитических расчётов, поисковых системах и др. Их применение обусловлено, прежде всего, невозможностью выполнить все предъявляемые требования, используя иные технологии. Рассмотрим варианты решений, их плюсы и минусы.Читать полностью »

В прошлый раз мы с вами рассмотрели все, что касается технологии SCSI в историческом контексте: кем она была изобретена, как развивалась, какие у нее есть разновидности и так далее. Закончили мы на том, что наиболее современным и актуальным стандартом является Serial Attached SCSI, он появился относительно недавно, но получил быстрое развитие. Первую реализацию «в кремнии» показала компания LSI в январе 2004 года, а в ноябре того же года SAS вошел в топ самых популярных запросов сайта storagesearch.com/.

Начнем с основ. Как же работают устройства на технологи SCSI? В стандарте SCSI все построено на концепции клиент/сервер.

Клиент, называемый инициатором (англ. initiator), отправляет разные команды и дожидается их результатов. Чаще всего, разумеется, в роли клиента выступает SAS контроллер. Сегодня SAS контроллеры — это HBA и RAID-контроллеры, а также контроллеры СХД, стоящие внутри внешних систем хранения данных.

Сервер называется целевым устройством (англ. target), его задача — принять запрос инициатора, обработать его и вернуть данные или подтверждение выполнения команды обратно. В роли целевого устройства может выступать и отдельный диск, и целый дисковый массив. В этом случае SAS HBA внутри дискового массива (так называемая внешняя система хранения данных), предназначенный для подключения к нему серверов, работает в режиме Target. Каждому целевому устройству (“таргету”) присваивается отдельный идентификатор SCSI Target ID.

Для связи клиентов с сервером используется подсистема доставки данных (англ. Service Delivery Subsystem), в большинстве случаев, это хитрое название скрывает за собой просто кабели. Кабели бывают как для внешних подключений, так и для подключений внутри серверов. Кабели меняются от поколения к поколению SAS. На сегодня имеется три поколения SAS:

— SAS-1 или 3Gbit SAS
— SAS-2 или 6Gbit SAS
— SAS-3 или 12 Gbit SAS – готовится к выходу в середине 2013 года

Интерфейс SAS: история, примеры организации хранения
Интерфейс SAS: история, примеры организации хранения
Читать полностью »

Уважаемые Читатели!

3 года назад мы уволились со своих насиженных мест работы и запустили собственную компанию — сеть доставки контента CDNvideo. Тогда мы работали вдвоем, у нас была одна комната, несколько серверов и не очень большая, по меркам нынешних стартапов, сумма на счету, полученная от друзей-инвесторов. Сегодня через наш CDN раздают видео и статику 6000 сайтов, у нас около 100 серверов, расставленных по разным странам и континентам, 30 человек в штате, офис в центре Москвы и представительство в Киеве. Наверное, это то, что называется успехом, хотя я и не люблю это слово. И, несмотря на скромность, на нам все же хочется поделиться опытом создания собственного бизнеса, а заодно и немного похвастаться своими достижениями :)

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

image

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

Самый мощный суперкомпьютер 2009 года уступает место новому поколению

Пришло время лучшему суперкомпьютеру мира в трёх подряд рейтингах Топ-500 за июнь 2008, ноябрь 2008 и июнь 2009 уступить место следующему поколению супервычислительных систем. Хотя и сейчас с производительностью более 1 петафлопса IBM Roadrunner занимает 22-е место в мире, владельцы в виду сложности его обслуживания решили разобрать его на комплектующие.

Списание суперкомпьютера состоялось вчера 31 марта 2012 года. Но в ближайшее время на нем еще будут ставить опыты студенты.
Читать полностью »


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