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

Серверная оптимизация *

Разгружаем сервер

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

Главный по Windows Server

Время на прочтение1 мин
Количество просмотров1.6K
Парни, через пару дней у меня будет редкая возможность встретиться лицом к лицу с Джастином Грэмом (Justin Graham), старшим техническим менеджером по продуктам Windows Server в Microsoft. Подозреваю, что этот товарищ может рассказать очень многое, но только если ему задать правильные вопросы. И вот беда: сам я в серверных технологиях с точки зрения опытного пользователя мало чего понимаю и посему правильных вопросов у меня нет.

Так что буду очень благодарен за любые более-менее интересные вопросы касательно серверных технологий Microsoft вообще и Windows Server в частности.

Ну а сразу после интервью обязательно опубликую ответы.

Function splitting и чистый код

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров3.1K

Сложная и тяжелая статья с непропорционально простым выводом. Вспомним фон Неймана, затронем процессорный кеш, поговорим про регистры и компиляторы. Тем, кому не хочется погружаться в детали, достаточно прочитать только Введение и Выводы.

Читать далее

Балансировка нагрузки: простыми словами о всей мощи двух случайных вариантов

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

В мире динамического выделения ресурсов и балансировки нагрузки есть много интересных алгоритмов, но один из самых известных и занимательных – так называемый «метод двух случайных выборов». Он привносит очень простое изменение в процедуру случайного выделения ресурсов, а качество результатов от этого улучшается экспоненциально. Мне посчастливилось реализовать именно эту технику в гигантском масштабе, чтобы оптимизировать использование ресурсов в AWS Lambda, но мне всё равно долго не удавалось «прочувствовать» этот метод интуитивно. В этом посте хочу познакомить вас с той метафорической картиной этого алгоритма, которую я для себя составил, и которая очень удобна для понимания других продвинутых техник в этой области.
Читать дальше →

Облачная кухня: рецепт приготовления тестов производительности дисковой подсистемы сервера

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

Хабр, приветствую! Сегодня с вами Дмитрий Михайлов, ИТ-инженер Cloud4Y, и в этой статье я поделюсь с вами опытом проверки производительности виртуальных дисков.

Читать далее

Спектральный анализ сервера

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

Что будет, если к Perfmon применить быстрое преобразование Фурье? Или функцию корреляции? Получится #черте_что!

Читать далее

Как можно оптимизировать dot-product и не только. Доклад Яндекса

Время на прочтение18 мин
Количество просмотров4.1K
Разработчик инфраструктуры качества поиска Яндекса Ильнур Хузиев ilnurKh взял простую задачу — скалярное произведение двух векторов — и попробовал выжать все соки производительности кода. Из доклада вы узнаете, как использовать возможности процессора, настройки компилятора (и даже попробовать превзойти его), какой была бы правильная постановка задачи, как выбирать приоритеты и архитектуру. Да, вопрос выбора абстракций может встать даже на примере настолько простой задачи.

— Сегодня мы рассмотрим достаточно простую функцию — скалярное произведение двух векторов, и попробуем провести различные оптимизации. Надеюсь, что приёмы, которые мы рассмотрим, будут применены не только в этой задаче, но и в других.
Читать дальше →

Самый большой процессор в мире — Cerebras CS-1. Разбор

Время на прочтение6 мин
Количество просмотров19K
Наверняка вы подумали, что это какой-то очередной кликбейт. Что это за самый большой процессор в мире? Похоже сейчас нам будут рассказывать о процессоре, который на 5 процентов больше других, и то если рассматривать этот процессор только с определенной стороны. И да, просмотры и прочтения мы хотим собрать, но…

Сегодня мы расскажем вам о процессоре компании Церебро под названием Cerebras CS-1. И он действительно огромный!


Например, GPU, который считался самым большим раньше — это процессор Nvidia V100, а вот новый процессор Церебро. Он почти в 57 раз больше! Площадь самого чипа — 462 квадратных сантиметра — это почти столько же сколько площадь всей Nvidia 3090, вместе с системой охлаждения и разъемами.
Читать дальше →

OCP Experience Lab — как мы строили мини-ЦОД в офисе

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

Начиналось всё с создания небольшого стенда для тестирования серверов нашей собственной разработки. Но аппетит приходит во время еды, и в итоге мы создали единственную в России и вторую в Европе лабораторию OCP Experience Lab.

Читать далее ➾

Неудачная статья про ускорение рефлексии

Время на прочтение7 мин
Количество просмотров8.2K
Сразу объясню название статьи. Изначально планировалось дать хороший, надежный совет по ускорению использования рефлекшена на простом, но реалистичном примере, однако в ходе бенчмаркинга выяснилось, что рефлексия работает не так медленно, как я думал, LINQ работает медленнее, чем снилось в кошмарах. А в итоге оказалось, что мной еще и была допущена ошибка в замерах… Подробности этой жизненной истории под катом и в комментариях. Так как пример достаточно бытовой и реализованный в принципе как обычно делается в энтерпрайзе, получилось достаточно интересная, как мне кажется, демонстрация жизни: влияния на скорость работы основного предмета статьи было не заметно из-за внешней логики: Moq, Autofac, EF Core и прочей «обвязки».
Читать дальше →

HighLoad++, Юрий Насретдинов (ВКонтакте): как VK вставляет данные в ClickHouse с десятков тысяч серверов

Время на прочтение18 мин
Количество просмотров9K
HighLoad++ Moscow 2018, зал «Конгресс-холл». 9 ноября, 15:00

Тезисы и презентация: http://www.highload.ru/moscow/2018/abstracts/4066

Юрий Насретдинов (ВКонтакте): в докладе будет рассказано об опыте внедрения ClickHouse в нашей компании – для чего он нам нужен, сколько мы храним данных, как их пишем и так далее.



Дополнительные материалы: использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB

Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB

Время на прочтение11 мин
Количество просмотров29K
Clickhouse — это колоночная система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших объемов данных (вставка тысяч строк в секунду или петабайты данных, хранящихся на диске).

В обычной, «строковой» СУБД, примерами которых служат MySQL, Postgres, MS SQL Server, данные хранятся в таком порядке:



При этом значения, относящиеся к одной строке, физически хранятся рядом. В столбцовых СУБД значения из разных столбцов хранятся отдельно, а данные одного столбца – вместе:

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

Если данные не помещаются в память. Простейшие методы

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

Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0

Вы пишете программу для обработки данных, она отлично проходит тест на небольшом файле, но падает на реальной нагрузке.

Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стогигабайтный файл. В какой-то момент у ОС закончится память, она не сможет выделить новую, и программа вылетит.

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

Паттерн BIF: чистый код фронтенда и удобная работа с серверными данными

Время на прочтение12 мин
Количество просмотров15K
В материале, перевод которого мы сегодня публикуем, речь пойдёт о том, что делать в ситуации, когда данные, получаемые с сервера, выглядят не так, как нужно клиенту. А именно, сначала мы рассмотрим типичную проблему такого рода, а потом разберём несколько путей её решения.

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

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

Производительность Joomla на больших объемах контента

Время на прочтение4 мин
Количество просмотров16K
image

Joomla очень плохо переваривает базу данных даже с несколькими тысячами статей в таблице _content. При нескольких десятках тысяч запросы в базу стандартных модулей типа mod_articles_popular могут зависать на секунды.

Всё дело в ACL (Access Control List) — политике контроля доступа. Проверка законности доступа пользователя к материалам занимает свыше 98% времени выполнения запроса.
Читать дальше →

Crysis на максималках, или зачем серверу видеокарта

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

image alt text


Помимо игры в Battlefield 1 и развлечений с VR-очками, установка отдельной видеокарты в сервер полезна при работе с графикой в виртуальной среде или для математических вычислений.


Использование GPU в серверной среде связано с некоторыми особенностями в каждом конкретном сценарии, поэтому разберем их подробнее.

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

Замена RISC-машины на x86: приглашаю пощупать и потестировать завтра

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

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

Завтра, в четверг 27 октября, в 18:00 мы будем издеваться над x86-машиной с интригующим названием Huawei Kunlun. Приходите потыкать в него палочкой. Будем нагружать его Oracle и майнингом биткоинов до тех пор, пока он, как бензопила из анекдота, не скажет «Хррр».

Ниже — короткое FAQ про RISC-машины и программа тест-драйва.
Читать дальше →

«Особенности памяти»: Что общего у кэша процессора и офисного клерка

Время на прочтение4 мин
Количество просмотров9.3K
Мы в «ИТ-ГРАД» рассказываем в своем блоге об интересных технологиях в области виртуализации, например, недавно мы говорили об облачных ERP-системах, а также о виртуальных GPU.

Сегодня мы углубимся в «железную тематику» и поговорим о кэше процессора.



/ фото Isaac Bowen CC
Читать дальше →

Тюнинг MySQL — thread_cache_size

Время на прочтение1 мин
Количество просмотров59K
Параметр thread_cache_size играет немаловажную роль в производительности нагруженного MySQL-сервера. В некоторых случаях можно увеличить производительность на 30-50%.

Этот параметр указывает количество тредов, уходящих в кеш при отключении клиента. При новом подключении тред используется из кеша, что позволяет экономить ресурсы при больших нагрузках.
Читать дальше →

Что кешировать?

Время на прочтение8 мин
Количество просмотров12K
Всё. На этом можно было бы статью закончить, так как эта аксиома повторяется из года в год на форумах и конференциях и кочует из текста в текст на всех технических ресурсах. Однако это ёмкое «Всё» не поясняет деталей. Ведь существует достаточно широкая прослойка программистов, движки и проекты которых справляются с задачей без мемкеша и шардинга. Но момент нагрузки приходит, и приходится разбираться.
Для таких людей я и разобрал на запчасти это универсальный ответ высоконагруженных проектов.
Ограничимся изучением системы для веба. Попросту говоря, на привычном обычном сайте. Используете ли вы готовую CMS, или уже выросли до каркаса, или написали «с нуля» код для нестандартного проекта – основными элементами процесса приёма-отдачи данных всегда будут одни и те же узлы. Я их рассмотрю с точки зрения «Где что можно закешировать».
Этапы выдачи
Читать дальше →

Представляем IIS Express

Время на прочтение4 мин
Количество просмотров69K
Сегодня разработчики создают и тестируют ASP.NET сайты и приложения, используя один из двух веб-серверов:
  • ASP.NET Development Server, который является встроенным в Visual Studio
  • IIS Web Server, который встроен в Windows.
Каждый обладает своими преимуществами и недостатками, многие разработчики не раз говорили нам – “Очень хотелось бы с легкостью использовать ASP.NET Development Server, но при этом иметь на борту всю мощь и возможности IIS”. Сегодня, я с радостью представляю вам бесплатную версию IIS Express, который объединяет в себе лучшие качества обоих веб-серверов и позволит еще проще разрабатывать и запускать ASP.NET сайты и приложения.

IIS Express будет работать с VS 2010 и Visual Web Developer 2010 Express, запускаться на Windows XP и выше, не требует прав администратора и внесения изменений в код приложения. Позволяет работать со всеми типами ASP.NET приложений и разрабатывать, используя всю мощь возможностей IIS 7.x.
Читать дальше →

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