Трей с дисками выезжает из корпуса, а сервер остаётся в стойке
На рынке серверов найти что-то новое — это большая удача, потому что большая часть эволюции крутится вокруг известных технологий, просто делая их сильнее, выше, быстрее и дешевле. Когда к нам привезли серверы Quantа, я ждал всего привычного, но с другим интерфейсом. Однако железки, которые привезли в КРОК на тестирование, смогли меня удивить.
Первым сюрпризом были тонкие SSD-диски «в заднице» серверов, их удобно использовать для ОС или кеширования данных. Вторым — на одной из моделей удобно выезжающие из сервера приёмники для HDD. Ну и ещё куча разных мелочей, говорящих о реально продуманной сборке, в которой, кажется, участвовал не только инженерный мозг производителя, но и люди, знающие не понаслышке, как админить фермы и дата-центры. По мере обзора покажу ещё несколько примеров.
Примечательно, что Quantа не стала выпускать клоны того, что есть на рынке. Начну с рассказа о необычных моделях, потом подробнее расскажу про приехавшее железо. Выводы, как всегда, в конце.
Читать полностью »
Рубрика «высокая производительность» - 116
Обзор серверов Quantа: интересные решения, blade-корзины размером со стойку, ульи микросерверов и HPC-фермы
2016-07-07 в 6:53, admin, рубрики: Quanta, QuantaGrid, QuantaMesh, QuantaPlex, Блог компании КРОК, высокая производительность, ит-инфраструктура, сервера, Серверное администрирование, серверыФильтр Блума для веб-разработчиков
2016-07-06 в 7:56, admin, рубрики: bloom filter, C, libevent, libevent2, Алгоритмы, высокая производительность, Разработка веб-сайтов, фильтр блума, хранилища данныхНа хабре уже немало рассказано про фильтр Блума. Напомню, что это структура данных, которая позволяет проверить принадлежность элемента ко множеству, не храня при этом сам элемент. Существует вероятность ложно-положительного ответа, но отрицательный ответ всегда достоверен. В фильтре с точностью 1% требуется всего лишь несколько бит на элемент.
Эта структура часто применяется для ограничения числа запросов к хранилищу данных, отсекая обращения за элементами, которых там заведомо нет. Кроме того, её можно применять для примерного подсчёта числа уникальных событий, пользователей, просмотров и т.д. Больше примеров интересных применений.
Однако есть трудности, которые могут сдерживать веб-разработчиков от применения фильтра Блума.
Читать полностью »
Концепция производительности и масштабируемости Spryker
2016-07-02 в 17:05, admin, рубрики: e-commerce, performance, performance tests, php, высокая производительность, Разработка под e-commerceПредлагаю вашему вниманию перевод статьи Spryker Performance and Scalability Concepts.
Spryker это e‑commerce фреймворк, является результатом реализации более чем 100 индивидуальных e‑commerce проектов. Он предоставляет из коробки два важнейших архитектурных качества — высокую производительность и масштабируемость. В этой статье описываются основные концепции для их достижения.
Читать полностью »
Оптимизация веб-сервиса подсказок для почтовых адресов и ФИО
2016-07-01 в 18:13, admin, рубрики: c++, Анализ и проектирование систем, веб-сервисы, высокая производительность, обработка в реальном времени, оптимизация, Проектирование и рефакторингВ данной статье я хотел бы поделиться опытом разработки веб-сервиса на C++. На мой взгляд, это достаточно интересная тема, поскольку использование C++ для веб-разработки — вещь редкая и зачастую вызывает в ИТ-кругах недоумение. В Интернете можно найти много аргументов не в пользу данного подхода. Использование указателей, утечки памяти, сегфолты, отсутствие поддержки веб-стандартов «из коробки» — вот неполный перечень того, с чем нам пришлось ознакомиться прежде, чем принять решение о выборе данной технологии.
Читать полностью »
Реализуем http-2 server push с помощью nghttp2
2016-06-29 в 18:29, admin, рубрики: http/2, HTTPS, nghttp2, nghttpx, SSL, высокая производительность, Разработка веб-сайтов, Серверная оптимизация, Серверное администрированиеВсем привет, сегодня я расскажу о том, как настроил server push на своём сайте и добился увеличения скорости рендеринга страниц. Для начала о том, что же такое server push в HTTP/2. Это технология, позволяющая серверу «протолкнуть» дополнительные данные клиенту, в момент запроса основного документа. То есть в обычной ситуации запрашивает браузер html-страничку, затем обрабатывает её и приходит к выводу, что ему для корректного отображения необходимо подгрузить дополнительные файлы: стили, скрипты, изображения. После чего скачивает их и отображает конечный результат. Server push позволяет отправить дополнительные файлы уже в момент получения основного документа, и они уже будут иметься в кэше, когда они потребуются браузеру. За счёт этого возрастает скорость загрузки сайта.
На этот раз схема будет следующая:
Реализация reference counting или жизнь без GC (почти)
2016-06-26 в 23:30, admin, рубрики: D, dlang, gc, memory management, RC, высокая производительность, ПрограммированиеДоброго времени суток!
Многие считают, что системный язык и сборщик мусора — не совместимые понятия. В некоторых ситуациях, действительно, сборщик может доставлять некоторые проблемы.
Как Вам, скорее всего, известно — в D сборщик мусора, отчасти, опционален. Но ручное управление памятью это прошлый век.
Поэтому сегодня я покажу как можно реализовать сборку мусора самому через «полуавтоматический» подсчёт ссылок, а так же как при этом минимизировать обращения к встроенному в runtime сборщика мусора на основе сканирования памяти.
«Разрубить Гордиев узел» или преодоление проблем шифрования информации в ОС Windows
2016-06-24 в 10:02, admin, рубрики: bsod, ntfs, win32, windows, Блог компании Аладдин Р.Д., высокая производительность, интеграция, информационная безопасность, криптография, системное программирование, шифрование, метки: ИнтеграцияСовременная операционная система это сложный иерархичный процесс обработки и управления информацией. Актуальные версии ОС Windows в этом вопросе не являются исключением. Для того, чтобы интегрировать средство защиты в среду ОС Windows, зачастую хватает встраивания на прикладном уровне. Однако, если речь заходит о шифровании информации в среде ОС Windows, все становится намного сложнее.
Читать полностью »
Создание блога на Symfony 2.8 lts [ Часть 5.1]
2016-06-17 в 13:09, admin, рубрики: erlang, php, symfony, symfony 2, Блог компании Post Hawk, высокая производительность, оопПривет! Хочу немного вклиниться в цикл статей и показать как можно простым путём сделать обновление списка комментариев в ленте в режиме реального времени. Как это происходит, например, на githubЧитать полностью »
Ещё раз про быстрый JPEG на CUDA
2016-06-15 в 15:52, admin, рубрики: 12-bit JPEG, CUDA JPEG Codec, fast lossy compression, gpgpu, GPU JPEG benchmark, HPC, JPEG encoder and decoder on GPU, JPEG performance, NVIDIA GeForce 1080, быстрое сжатие изображений, высокая производительность, кодек джипег, обработка изображений, параллельное программирование, параллельные вычисления, сжатие данных, метки: CUDA JPEG Codec, GPU JPEG benchmark, JPEG encoder and decoder on GPU, NVIDIA GeForce 1080В 2012 году на Хабре уже была моя статья про быстрое сжатие в JPEG на видеокарте. С тех пор прошло уже довольно много времени и мне хотелось бы в общих чертах рассказать про результаты, которые были получены по этой теме. Надеюсь, многим будет интересно узнать, какой уровень производительности можно получить на современных видеокартах NVIDIA при решении практических задач на CUDA.
Читать полностью »
Delayed Durability или история о том как получилось ускорить выполнение автотестов с 11 до 2,5 минут
2016-06-14 в 10:25, admin, рубрики: control transaction durability, delayed durability, jasmine, Microsoft SQL Server, sql, sql server, sql server 2014, writelog, Администрирование баз данных, высокая производительность, Тестирование веб-сервисов, ускорение автотестовОтносительно недавно я начал помогать на новом для себя продуктовом проекте TMetric, который на поверку разрабатывается как бесплатный веб-сервис для трекинга рабочего времени.
Стек технологий был изначально выбран мелкомягкий, а в качестве хранилища данных использовался SQL Server 2014. Одним из первых тасков, которые мне поручили — это поисследовать возможность ускорения автотестов.
Читать полностью »