Как рассчитать мощность сервера под задачу
Чтобы подобрать сервер под задачу, нужно заранее определить, какую нагрузку ему предстоит выдерживать. В статье разберем, какие параметры учитывать и как по ним подобрать подходящую конфигурацию.
В этой статье:
- Исходные данные для расчета мощности сервера
- Расчет процессорных ресурсов
- Расчет оперативной памяти
- Расчет дисковой подсистемы
- Расчет пропускной способности сети
- Сбор требований к конфигурации сервера
- Ошибки при расчете мощности сервера
- Вопросы и ответы
Исходные данные для расчета мощности сервера
Для начала нужно описать задачу и собрать данные о нагрузке. Одного числа пользователей недостаточно: требования к ресурсам зависят от приложений, объема операций, данных и одновременной активности.
Перед расчетом нужно:
- Определить задачи. Зафиксировать, какие приложения и сервисы будут работать на сервере.
- Уточнить одновременную нагрузку. Посчитать пользователей, виртуальные машины или подключенные устройства, которые могут работать в одно время.
- Описать основные операции. Понять, что преобладает: вычисления, работа с данными или передача информации по сети.
- Оценить объем данных и его рост. Указать текущий объем и ожидаемое увеличение.
- Учесть пиковые периоды. Отметить моменты, когда число запросов или объем операций заметно возрастает.
- Проверить требования программного обеспечения. Уточнить ограничения и рекомендации производителя по ресурсам и поддерживаемой платформе.
Набор исходных данных зависит от задачи:
| Задача | Что нужно уточнить |
| 1С и базы данных | Число одновременных пользователей, объем базы, используемую СУБД, характер операций |
| Виртуализация | Число виртуальных машин и требования каждой из них |
| Файловые сервисы | Объем данных, число одновременных обращений, интенсивность чтения и записи |
| Видеонаблюдение | Число камер, скорость видеопотока, срок хранения архива |
Эти данные затем переводят в требования к отдельным ресурсам сервера.
Расчет процессорных ресурсов
Для расчета нужно понять, сколько вычислений сервер выполняет одновременно и как программа распределяет их между процессорными потоками.
Общий вычислительный ресурс. При большом числе параллельных операций возрастает потребность в процессорных ресурсах. Это характерно, например, для виртуализации и систем с большим количеством одновременных запросов.
Производительность отдельного ядра. Для последовательных операций важнее скорость выполнения одной задачи. На нее влияют архитектура процессора и тактовая частота. Поэтому модели разных поколений нельзя сравнивать только по значению в ГГц.
Количество процессоров. Второй процессор увеличивает доступный вычислительный ресурс, но не дает двукратного прироста во всех задачах. Число процессоров выбирают с учетом нагрузки, возможностей платформы и ограничений программного обеспечения.
Если сервер уже работает и есть статистика загрузки, можно получить ориентир по текущему потреблению ресурсов:
Эквивалент полностью загруженных ядер = число физических ядер × загрузка процессора / 100
Например, у сервера 16 физических ядер, а устойчивая загрузка составляет 70%:
16 × 70 / 100 = 11,2
Полученное значение показывает, какой объем процессорного ресурса использует текущая нагрузка. Для подбора важнее смотреть на устойчивые пиковые периоды: среднее значение за день может скрывать моменты высокой активности.
Формула дает ориентир при сохранении сопоставимой нагрузки и платформы. При переходе на другое поколение процессоров нужно учитывать различия в производительности и требования конкретного программного обеспечения.
По итогам расчета фиксируют:
- необходимый объем процессорных ресурсов;
- требования к производительности одного ядра;
- допустимое количество процессоров;
- ограничения программного обеспечения;
- нагрузку в пиковые периоды.
Расчет оперативной памяти
Потребность в оперативной памяти складывается из ресурсов, которые одновременно используют операционная система, приложения и служебные процессы.
Сервер без виртуализации
Можно использовать базовую схему:
Требуемый объем памяти = операционная система + приложения и службы + дополнительный объем под развитие системы
Для базы данных учитывают память, которая нужна СУБД для обработки запросов, хранения рабочих данных и кеширования. Ориентироваться только на минимальные системные требования программы не стоит: они определяют условия запуска, но сами по себе не показывают потребление при рабочей нагрузке.
Если есть данные действующей системы, за основу можно взять фактическое потребление при характерной для компании нагрузке.
Узел виртуализации
Здесь расчет выглядит иначе:
Требуемый объем памяти = ресурсы гипервизора + сумма памяти виртуальных машин + дополнительный объем под новые машины
Память операционных систем и приложений внутри виртуальных машин отдельно не прибавляют. Она уже входит в объем, выделенный каждой машине.
Например, на сервере планируется четыре виртуальные машины по 16 ГБ и две по 32 ГБ:
4 × 16 + 2 × 32 = 128 ГБ
К результату добавляют ресурсы, необходимые гипервизору, и объем для запланированного расширения.
Размещение модулей памяти
После расчета общего объема определяют схему установки модулей. Нужно учитывать число каналов памяти и рекомендации производителя по их заполнению. Неправильное размещение может ограничить пропускную способность памяти.
Количество и емкость модулей окончательно выбирают уже для конкретной серверной платформы.
Расчет дисковой подсистемы
Сначала определяют, сколько данных нужно хранить и какую нагрузку должны выдерживать накопители.
Емкость
За основу берут текущий объем данных и темп роста, который уже определили на первом этапе.
Объем данных через t лет = текущий объем × (1 + темп роста)ᵗ
Например, при исходных 4 ТБ и росте на 20% в год через два года потребуется:
4 × 1,2² = 5,76 ТБ
К рабочим данным добавляют журналы, временные файлы, снимки и другие служебные данные, которые будут храниться на том же массиве.
Затем полезный объем переводят в физическую емкость с учетом выбранной схемы RAID.
Производительность хранения
Следующий шаг — определить, с какой интенсивностью приложения будут обращаться к данным.
Количество операций ввода-вывода в секунду показывает, сколько операций чтения и записи должна обрабатывать система. Для нескольких независимых нагрузок значения складывают:
Общее число операций = нагрузка 1 + нагрузка 2 + ... + нагрузка n
Пропускная способность показывает, какой объем данных нужно прочитать или записать за единицу времени:
Пропускная способность = объем данных / время
Если известны средний размер операции и их количество в секунду:
Пропускная способность ≈ число операций в секунду × размер операции
Задержка показывает время между запросом к данным и получением результата. Требуемое значение определяют по условиям работы конкретного приложения.
Соотношение чтения и записи
Нужно отдельно определить, какая часть обращений приходится на чтение, а какая на запись. Два сценария с одинаковым числом операций могут по-разному нагружать накопители.
Соотношение чтения и записи влияет на выбор типа накопителей и схему RAID.
Что нужно получить по итогам
Фиксируют:
- полезную емкость;
- число операций ввода-вывода в секунду;
- пропускную способность;
- допустимую задержку;
- соотношение чтения и записи;
- требования к типу накопителей.
Расчет пропускной способности сети
Здесь нужно определить, сколько данных сервер передает и принимает за заданное время. Отдельно учитывают потоки приложений, работу с хранилищем, резервное копирование, репликацию и обмен между серверами.
Трафик приложений
Когда известен поток данных для одного активного подключения, общую потребность можно оценить по формуле:
Требуемая пропускная способность = поток одного подключения × число одновременных подключений
Например, 40 подключений передают по 25 Мбит/с:
25 × 40 = 1000 Мбит/с
Если объем данных на одно подключение заранее определить нельзя, для расчета используют требования приложения или результаты измерений действующей системы.
Передача заданного объема данных
Для резервного копирования, переноса файлов и других операций с известным объемом можно считать от доступного времени:
Требуемая пропускная способность = объем данных / время передачи
Например, нужно передать 500 ГБ за 2 часа:
500 × 8 = 4000 Гбит
4000 / 7200 ≈ 0,56 Гбит/с
Получаем минимальную скорость передачи полезных данных для выполнения операции за два часа.
Одновременные потоки
Когда несколько видов трафика используют одно соединение и передают данные в одном направлении, их требования складывают:
Общая пропускная способность = поток приложений + обмен с СХД + резервное копирование + репликация + межсерверный обмен
При раздельных соединениях расчет выполняют для каждого канала отдельно.
Входящий и исходящий трафик
В полнодуплексном Ethernet данные могут одновременно передаваться в обоих направлениях. Поэтому входящий и исходящий потоки считают раздельно.
Например, сервер принимает 6 Гбит/с и одновременно передает 8 Гбит/с. Для полнодуплексного соединения эти значения не складываются в 14 Гбит/с: каждое направление имеет собственную пропускную способность.
По итогам расчета фиксируют:
- требуемую пропускную способность на прием;
- требуемую пропускную способность на передачу;
- требования для отдельных соединений, если трафик разделен.
Сбор требований к конфигурации сервера
После расчета процессора, памяти, хранения и сети результаты сопоставляют с возможностями конкретной серверной платформы. Нужно проверить, поддерживает ли она требуемые компоненты и хватает ли доступных ресурсов для выбранной конфигурации.
Удобно свести требования в одну таблицу:
| Результат расчета | Что проверить в сервере |
| Процессорные ресурсы | Поддерживаемые процессоры и число сокетов |
| Оперативная память | Максимальный объем, число слотов, поддерживаемые модули |
| Хранение | Число дисковых отсеков, поддерживаемые накопители, RAID-контроллер или HBA |
| Сеть | Скорость и число портов, возможность установки дополнительных сетевых адаптеров |
Совместимость компонентов
Подходящие характеристики отдельных компонентов еще не означают, что их можно установить вместе.
Перед выбором сервера проверяют:
- поддерживает ли дисковая корзина выбранный тип накопителей;
- совместим ли контроллер с используемыми дисками;
- хватает ли слотов расширения для сетевых адаптеров и контроллеров;
- поддерживает ли платформа выбранные процессоры и модули памяти.
Итоговую спецификацию лучше проверять целиком, потому что состав одной подсистемы может влиять на доступные варианты другой.
Возможности для дальнейшего расширения
Прогноз роста из исходных данных здесь переводят в требования к платформе. Нужно понять, останутся ли свободные слоты памяти, дисковые отсеки и возможности для установки дополнительных плат расширения.
Платформа, которая уже в стартовой конфигурации использует почти все доступные ресурсы, оставляет меньше вариантов для дальнейшего увеличения мощности.
После этой проверки расчет превращается в набор требований, по которым уже можно сравнивать конкретные серверные модели и конфигурации.
Ошибки при расчете мощности сервера
Расчет может выглядеть убедительно на бумаге и все равно дать неверные требования к оборудованию. Чаще всего причина кроется в исходных допущениях или неправильном сравнении показателей.
Копировать конфигурацию из похожего проекта
Одинаковое число сотрудников или одно и то же программное обеспечение еще не означает одинаковую нагрузку. В одной компании пользователи выполняют короткие операции в течение дня, в другой одновременно запускают тяжелые отчеты или обрабатывают крупные массивы данных.
Готовая конфигурация подойдет как ориентир для сравнения. Требования к ресурсам все равно нужно получать из условий конкретного проекта.
Складывать частоты процессора
Расчет вида «16 ядер × 3 ГГц = 48 ГГц» не показывает вычислительную производительность сервера. Тактовая частота относится к работе отдельного ядра, а объем выполненной работы зависит еще от архитектуры процессора и характера программы.
Поэтому значение в гигагерцах нельзя суммировать и использовать как показатель общей мощности системы.
Смешивать единицы измерения
Ошибка особенно заметна при расчете сети и хранения. Скорость сетевого соединения обычно указывают в битах в секунду, а размер файлов и скорость работы накопителей часто приводят в байтах.
1 байт = 8 бит
Например, поток 1 ГБ/с соответствует 8 Гбит/с без учета дополнительных расходов на передачу данных. Если пропустить перевод единиц, итоговое требование к сети может отличаться в восемь раз.
При расчете емкости также важно использовать одну систему единиц во всех исходных значениях.
Использовать максимальные характеристики компонентов как рабочие значения
Заявленная скорость интерфейса, накопителя или другого компонента показывает его возможности в определенных условиях. Реальная производительность всей системы зависит от состава оборудования и характера нагрузки.
Например, сетевой порт на 25 Гбит/с сам по себе не означает, что приложение сможет постоянно передавать данные с этой скоростью. Ограничение может возникнуть в хранилище, процессоре, программном обеспечении или на другом участке инфраструктуры.
Поэтому при расчете нужно разделять характеристики компонентов и требуемую производительность всей системы.
Вопросы и ответы
Можно, если речь идет о новом проекте. За основу берут требования программного обеспечения, предполагаемое число пользователей или систем, объем данных и характер будущей нагрузки. Чем меньше исходных данных, тем выше погрешность оценки, поэтому для сложных проектов полезны испытания на приближенной рабочей нагрузке.
Калькулятор подходит для предварительной оценки, если учитывает параметры конкретной нагрузки. Результат зависит от исходных значений и заложенной методики. Перед выбором оборудования расчет стоит сверить с требованиями программного обеспечения и возможностями конкретной платформы.
Да, когда инфраструктура должна продолжать работу после отказа одного из узлов. Оставшееся оборудование должно принять его нагрузку. Требуемый резерв зависит от архитектуры системы и выбранной схемы резервирования.
Зависит от его роли. Полный резерв должен обеспечивать необходимую нагрузку после переключения. Сервер, который используется только для части сервисов или восстановления, рассчитывают под предусмотренный для него сценарий работы.
Вычислительная мощность характеризует способность системы выполнять рабочие задачи. Потребляемая мощность измеряется в ваттах и нужна для расчета электропитания, ИБП и охлаждения. Это отдельная задача со своими исходными данными.