Добрый день, меня зовут Даниил, и я уже более пяти лет работаю в службе глобальной технической поддержки IT инфраструктуры крупной международной компании. Идея выделить анализ производительности приложений в отдельную область возникла у меня примерно два года назад и сейчас я нахожусь в той стадии, когда уже можно подводить первые итоги работы. Основная причина, побуждающая меня написать эту статью – желание получить конструктивные отзывы извне (в том числе и от уважаемых посетителей данного ресурса), чтобы в дальнейшем использовать их для корректировки курса развития этой области.
Читать полностью »
Рубрика «высокая производительность» - 141
Анализ производительности приложений как отдельное направление в IT
2014-02-17 в 12:10, admin, рубрики: apm, высокая производительность, ит-инфраструктура, метки: apmПростой способ кэширования шаблонов на PHP
2014-02-05 в 17:46, admin, рубрики: php, web-разработка, высокая производительность, кэширование, оптимизация, производительность, метки: PHP, web-разработка, кэширование, оптимизация, производительностьЧасто при разработке приложений на PHP встаёт вопрос кэширования всего выводимого приложением шаблона, либо какой-то его части, которая довольно статичная во времени. Если при разработке использовался какой-либо шаблонизатор, то данный вопрос решается «из коробки». Но не во всех приложениях на PHP используются шаблонизаторы, а вопрос о кешировании шаблона или его части остаётся открытым. Ниже описан один из вариантов решения данной проблемы.
IBM представила шестое поколение архитектуры X-Architecture
2014-02-05 в 11:19, admin, рубрики: PureSystems, Блог компании IBM, высокая производительность, Сетевое оборудование, метки: PureSystems
16 января корпорация IBM представила новое поколение архитектуры для серверов System x и PureSystems. Архитектура Х6 позволяет значительно оптимизировать производительность, а значит, и рентабельность серверов семейства х86, включая такие направления их использования, как облачные вычисления и аналитика.
Опыт внедрения кэширования в небольшой проект с сильной социальной составляющей
2014-02-05 в 7:59, admin, рубрики: memcached, mysql, php, Веб-разработка, высокая производительность, кэширование, метки: memcached, mysql, PHP, кэшированиеХочу поделиться опытом внедрения кэширования при помощи memcached на своем сайте. Текст будет полезен новичкам в веб-разработке, которые задаются вопросом «как же применять на практике те 100500 статей о кэшировании, которые легко находятся в поисковиках». На истину не претендую, просто рассказываю, как получилось у меня.
Исходные данные:
Сайт крутится на одном выделенном сервере, но из-за вероятности в будущем еще подрасти, для кэширования выбран memcached;
Суточная посещаемость: ~23 000 уникальных посетителей и ~300 000 просмотров страниц;
80% посетителей — авторизованные пользователи;
Основной контент: текст (книги, которые авторы пишут и публикуют на сайте по главам, наподобие самиздата).
Сервисы: персонализированные новости, чтение текстов, разбитых на главы, комментарии, профили, блоги, рейтинги, подписка, метки, закладки, личные сообщения, счетчики, почтовые уведомления…
Пользовательская активность: более 10 000 действий, приводящих к изменению контента, в сутки.
Сложность при внедрении кэширования: подавляющее большинство страниц содержит персонализированные данные. Где-то уникально все, вплоть до запросов в базу, где-то можно разделить запросы на общие и уникальные, где-то нельзя, где-то персональные настройки пользователя применяются на данные уже после их выбора из базы.
Читать полностью »
В NERSC запускают суперкомпьютер Edison с производительностью 2,4 петафлопс
2014-02-03 в 17:38, admin, рубрики: Блог компании King Servers, высокая производительность, ит-инфраструктура, суперкомпьютер, метки: суперкомпьютер
Имя известного ученого и изобретателя, Эдисона, сейчас у всех на слуху. То миниатюрный компьютер сделали, размером с SD карту, теперь вот — суперкомпьютер, размером с пару комнат. Назвали его тоже в честь Эдисона. Рабочее же название — Cray XC30. Официально этот суперкомпьютер будет запущен в работу уже 5 февраля, а создали его — специалисты центра National Energy Research Scientific Computing (NERSC) Center.
О производительности Thin Provision в LVM2
2014-01-30 в 13:01, admin, рубрики: Debian, linux, высокая производительность, производительность, Серверное администрирование, метки: Debian, производительностьС версии RHEL 6.4 в LVM2 включена поддержка thin provision. На русский я бы перевёл это как «тонкое резервирование», хотя перевод неточен и совершенно не согласуется с реальностью, поэтому далее наравне с русским будет использоваться английское написание.
Thin provisioning — это создание логических томов, которые изначально используют немного места и «растут» по мере записи в них данных. В ZFS это реализовано давно по самой философии этой ФС. В VMware это используется в каждом продукте. Дошло дело до LVM2, широко применяемом в Linux в наши дни. Также одним из основных нововведений является thin snapshots, когда для снэпшотов нет необходимости резервировать место заранее, а он «растёт» вместе с изменёнными данными. Также разрешаются и поощряются вложенные снэпшоты (снэпшоты снэпшотов в любой глубиной), при этом заявляется об отсутствии при этом падения производительности. О нескольких нюансах использования будет рассказано в статье.
Для стабильной работы thin provision в LVM2 требуется ядро 3.4. В Red Hat бэкпортировано и работает на их «классическом» 2.6.32.
В близкой мне Debian Wheezy thin provisioning недоступен ввиду отсутствия ключа при компиляции lvm2 --with-thin=internal и других сложностей. При необходимости, для целей теста, можно скомпилировать этот пакет из исходников.
Меня больше интересовали не снэпшоты, а производительность «тонких логических томов» (Thin Logical Volume) для использовании на серверах. Для нетерпеливых скажу сразу — падение производительности наблюдается, и существенное. Подробности ниже.
Читать полностью »
Создание и использование Matlab кластеров
2014-01-30 в 8:59, admin, рубрики: distributed computing, Matlab, parallel computing, parpool();, высокая производительность, кластер, кластеры, метки: distributed computing, Matlab, кластер, кластерыЦель статьи: хочу поделится опытом создания трех вычислительных кластеров Matlab, а также их удаленного администрирования.
Небольшое вступление
При исследовании/моделировании разных природных явлений (и не только), изредка появляется потребность в больших вычислительных способностях с которыми домашний ПК справится уже не в силе (каким бы мощным он небыл). В конце концов, эта потребность появились и у меня.
Моделирование, связанное с решением систем нелинейных дифференциальных уравнений на длинном промежутке относительного времени занимает достаточно много процессорного времени, поэтому было принято решение это все дело «расспаралелить».
Итак, обо всем — по порядку
Железо в наличии:
Дома: комп (Phenom II x4 840, 7x64) и ноут (Athlon II Dual-Core M320, 7x64) соединенные в одну сеть старым добрым маршрутизатором DIR-300.
Дома у девушки: комп (i5 4440, 7x64).
На работе: 10 компов (Athlon II Dual-Core, XPx86) (связанных в одну сеть) в одном помещении и 4 (Athlon II Dual-Core, XPx86) в другом (тоже связанных в одну сеть). Локальной сети между помещениями нет.
На всех вышеперечисленных ящиках присутствует доступ в интернет.
Читать полностью »
Горизонтальное масштабирование PHP приложений. Часть 1
2014-01-29 в 5:41, admin, рубрики: highload, load balancing, memcached, php, redis, Веб-разработка, высокая производительность
Итак вы сделали сайт. Всегда интересно и волнительно наблюдать как счетчик посещений медленно, но верно ползет вверх, с каждым днем показывая все лучшие результаты. Но однажды, когда вы этого не ждете, кто-то запостит ссылку на ваш ресурс на каком-нибудь Reddit или Hacker News (или на Хабре — прим. пер.), и ваш сервер ляжет.
Вместо того, что бы получить новых постоянных пользователей, вы останетесь с пустой страницей. В этот момент, ничего не поможет вам восстановить работоспособность сервера, и трафик будет утерян навсегда. Как же избежать таких проблем? В этой статье мы поговорим об оптимизации и масштабировании.
Читать полностью »
User Timing API
2014-01-28 в 8:17, admin, рубрики: javascript, высокая производительность, перевод, метки: javascript, переводЭто перевод статьи Alex Danilo о User Timing API, опубликованной 21 января 2014.
Высокая производительность веб-приложений является решающей для достижения хорошего user experience. В то время, как веб-приложения становятся все более сложными, понимание влияния производительности жизненно небходимо для создания конкурентноспособного user experience. За последние несколько лет в браузерах появились различные API, позволяющие анализировать производительность сети, время загрузки и т.д., но они не предоставляют необходимую информацию с достаточной гибкостью для поиска проблем, которые замедляют приложение. Использование User Timing API предоставляет механизм, позволяющий определить какая часть вашего приложения является наиболее медленной. В этой статье будет показана работа с User Timing API и примеры его использования.Читать полностью »
Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux
2014-01-28 в 7:05, admin, рубрики: linux, Блог компании Журнал Хакер, высокая производительность, журнал хакер, параллельные вычисления, метки: linux, высокая производительность, журнал хакер, параллельные вычисления
Почти все персональные компьютеры, выпущенные за последние несколько лет, обладают как минимум двухъядерным процессором. Если у тебя, читатель, не очень старый комп или не какой-нибудь бюджетный ноутбук, то, вероятнее всего, ты обладатель многопроцессорной системы. А если еще любишь играть в игры, то тебе доступно около сотни GPU-ядер. Однако львиную долю времени вся эта мощь пылится без дела. Попробуем это исправить.
Читать полностью »