0

Как правильно выбрать сервер для своего IT-проекта

Партнёрский материал. Что это?
Обложка: Как правильно выбрать сервер для своего IT-проекта

«Хочу запустить свой IT-проект» — такая идея может прийти в голову любому айтишнику, и именно она положит начало знакомству с серверами — сверхмощными компьютерами, которые могут бесперебойно поддерживать IT-инфраструктуру.

От выбранных характеристик сервера будет зависеть производительность, стабильность и скорость работы вашего IT-проекта — сайта, корпоративного портала или приложения. Но как понять, какая конфигурация идеально подходит для решения вашей задачи? Объясняем вместе со SpaceWeb.

Что нужно знать об удалённом сервере

Сервер состоит из компонентов, каждый из которых берёт на себя выполнение той или иной функции: материнская плата связывает все элементы между собой, процессор отвечает за эффективность работы всей системы, а оперативная память служит временным хранилищем информации.

Есть и другие компоненты, например, скоростные накопители, графический процессор и интерфейс IPMI.

Процессор (CPU)

Первое, на что стоит обратить внимание при выборе конфигурации сервера, — характеристики процессора. От них зависит скорость выполнения операций с данными, а также эффективность работы всей системы. Один из ключевых показателей мощности процессора — количество ядер. Каждое ядро работает независимо, как отдельный мозговой центр, поэтому чем больше ядер в процессоре, тем лучше будет работать система. Другой важный показатель — тактовая частота: чем выше показатель ГГц, чем выше скорость обработки задач.

Оперативная память (RAM)

Ещё один серверный компонент — оперативная память. Она служит временным хранилищем информации, необходимой процессору для успешного выполнения операций, и влияет на скорость их выполнения. Чем выше объём памяти и частота, тем больше операций может обработать сервер без задержек.

Накопители (HDD, NVMe SSD)

Систему хранения данных образуют дисковые накопители: HDD и NVMe SSD. NVMe — самые современные SSD-накопители, отличающиеся высокой скоростью и производительностью. HDD — старые добрые винчестеры, которые превосходят SSD в объёме хранения данных.

Выбор сервера для вашего IT-проекта

Теперь расскажем на примерах, какие конфигурации следует выбирать в зависимости от ваших задач:

1

Запускаем сайт

Минимальный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 1-2 ГБ RAM, 10 ГБ NVMe SSD

Рекомендованный сервер: 4-ядерный процессор с частотой 2.8 ГГц, 4-6 ГБ RAM, от 50 ГБ NVMe SSD

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

Проверьте, сколько места на диске уйдёт под дистрибутив, а также оцените количество ресурсов, необходимых для функционирования панели управления сервером, программного обеспечения и кода сайта. Например, на сервере с минимальными требованиями можно разместить десятки лендингов, сайты на CMS WordPress или проект на фреймворке.

Рассмотрим конкретный пример: минимальная сборка сервера с дистрибутивом Ubuntu, панелью управления FASTPANEL, стеком ПО Apache+PHP+MySQL и активным сайтом на CMS WordPress c 10 плагинами, среди которых Woocommerce и BuddyPress. Оценим, насколько сервер справляется с такой нагрузкой:

Как видно на скриншоте, в состоянии покоя сервер потребляет менее 1% от 2-ядерного процессора, 360 МБ от 1 ГБ RAM, а диск заполнен на 5 ГБ из 10 ГБ выделенного места.

Нагрузка на процессор вырастет на 0,2–0,5%, а оперативная память потребует больший объём на 50–60 МБ.

Такая сборка сервера может выдержать сотни одновременных подключений — хороший вариант для сайтов с посещаемостью, но избыточный для молодых. Контролируйте нагрузку, и если замечаете, что проект требует от сервера больше ресурсов, чем прежде, измените параметры в конфигураторе SpaceWeb всего в пару кликов.

2

Размещаем проект на Битрикс, CRM и корпоративный портал

Минимальный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2-4 ГБ RAM, 10-30 ГБ NVMe SSD для теста

Рекомендованный сервер: 4-ядерный процессор с частотой 5 ГГц, 16 ГБ RAM, 256 ГБ NVMe SSD + 2 ТБ HD

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

Битрикс 24 — требовательная система, к тому же корпоративный портал предполагает частые обращения к серверу с разных персональных компьютеров и регулярный обмен файлами.

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

Обратите внимание: процессор с тактовой частотой 5 ГГц будет почти вдвое эффективнее, чем процессор с частотой 2.8 ГГц.

3

Организуем почтовый или файловый сервер

Минимальный сервер: 1-ядерный процессор с частотой 2.8 ГГц, 1 ГБ RAM, до 500 ГБ HDD

Рекомендованный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2 ГБ RAM, от 500 ГБ HDD

Как правило, эти задачи не слишком требовательны к ресурсам сервера. Гораздо важнее определиться с оптимальным объёмом диска для хранения информации.

Оцените, какой объём данных вы планируете хранить на виртуальном сервере. Если проект крупный, вам может потребоваться от одного диска объёмом от 500 ГБ HDD до десятков дисков по 1–10 ТБ.

Известно, что скорость отправки одного письма из системы Битрикс составляет примерно 0,0114 секунды. Если мы имитируем работу почтового сервера на менее требовательном ПО, тест Phoronix Postmark покажет отметку 2365 одновременных транзакций с файлами весом до 512 КБ:

Этого вполне достаточно для большинства почтовых систем.

4

Создаём VPN- или DNS-сервер

Минимальный сервер: 1-ядерный процессор с частотой 2.8 ГГц, 1 ГБ RAM, 10 ГБ NVMe SSD

Рекомендованный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2 ГБ RAM, от 10 ГБ NVMe SSD

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

Предположим, вы устанавливаете OpenVPN на чистый сервер с Ubuntu и запускаете скачивание большого объёма файлов. В этом случае 2-ядерный процессор будет нагружен всего на 15%, а значит для личного пользования будет достаточно и процессора с одним ядром.

При скачивании файлов через VPN-сервер один пользователь создал нагрузку на CPU в 15,3%.

5

Установка Docker, GitLab и другого ПО

 
Требования к серверу: от 2-ядерного процессора с частотой 2.8 ГГц, от 4 ГБ RAM, от 40 ГБ NVMe SSD

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

Для Docker обычно рекомендуется не менее 4 ГБ оперативной памяти, но для тестовой сборки Docker и интерфейса Portainer будет достаточно 1-2 ГБ оперативной памяти на 2-ядерном процессоре с 10 ГБ на диске. Если запустить контейнеры с Redis и Node.js и проверить нагрузку такой сборки на сервер, обнаружится, что больше всего нагрузку испытывает оперативная память.

В данном примере команда htop показала около 30% нагрузки на оперативную память.

Для комфортной работы с Docker SpaceWeb рекомендует конфигурацию сервера, состоящую из процессора с 2-4 ядрами процессора, от 4 ГБ оперативной памяти и от 50 ГБ NVMe SSD. GitLab же более требователен для запуска, и без 4 ГБ оперативной памяти уже не обойтись. SpaceWeb рекомендует 4-ядерный процессор с 6-8 ГБ оперативной памяти и объёмом диска от 40 ГБ.

6

Размещаем проект в сфере машинного обучения или нейросетей

Требования к серверу: индивидуально

Для таких задач больше подходят серверы с графическим процессором, поскольку он превосходит обычный процессор в скорости вычислений. Для требовательных проектов может понадобиться от 4-8 CPU, 32-128 ГБ RAM, 8-24 ГБ VRAM, 150-1000 ГБ дискового пространства и больше.

Но бывают и крайне тривиальные нейросети и сборки. Например, сборка нейросети «Стахановец» для детектирования фотографирования сотрудниками экрана компьютера требует минимально 1-ядерный процессор, около 1 ГБ оперативной памяти и 2 ГБ видеопамяти серверных ресурсов.

7

Запускаем игровой сервер

Минимальный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2 ГБ RAM, 10 ГБ NVMe SSD

Рекомендованный сервер: 2-ядерный или 4-ядерный процессор с частотой 5 ГГц, 8 ГБ RAM, 60-80 ГБ NVMe SSD

Разместить игровой сервер для старенькой Counter-Strike и для современной Rust — разные задачи с точки зрения технических требований.

Например, для запуска Counter-Strike с нагрузкой на сервер в 16–32 игрока будет достаточно минимальных требований к конфигурации. SpaceWeb провели тестирование: запустили игровой сервер на минимальной сборке, 2-ядерном процессоре с 2 ГБ оперативной памяти, и подключили игрока.

На скриншоте видно: нагрузка сборки на процессор немного превысила 3%, а объём используемой оперативной памяти составил всего 4,6%.

Современные же игры более требовательны: результаты тестов SpaceWeb показывают, что виртуальные серверы с процессорами 5 ГГц создают вдвое меньшую нагрузку на систему, а значит позволяют подключить к серверу больше игроков и добиться лучшей производительности.

Например, для запуска игрового сервера Rust рекомендуется конфигурация от 2-ядерного процессора с частотой 5 ГГц, 6–8 ГБ оперативной памяти и минимум 40 ГБ места на накопителе.

Если же вы используете виртуальный сервер с графическим процессором для облачного гейминга, проверьте системные требования конкретной игры, которую вы хотите запустить на удалённом сервере, и ориентируйтесь на эти данные при выборе конфигурации.

8

Создаём видеосервер или видеохостинг

Минимальный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2 ГБ RAM

Рекомендованный сервер: от 4-ядерного процессора с частотой 5 ГГц, объем диска(ов) от 1 ТБ

Это сложная инфраструктура, и выбор конфигурации здесь во многом зависит от максимально возможного потока загружаемых материалов. Разберём конкретный пример.

С помощью теста Phoronix Test Suite х264 определим скорость кодирования видео на сервере:

На виртуальном сервере с 2-ядерным процессором, частотой 2.8 ГГц и 2 ГБ оперативной памяти скорость кодирования видео в формате Full HD составит около 11 кадров в секунду, а в формате 4K — чуть больше 2,5 кадров в секунду.

Для теста такая сборка подойдёт, но на деле более удачной будет конфигурация с процессором на частоте 5 ГГц, поскольку в этом случае скорость кодирования будет выше почти в два раза. Кроме того, стоит позаботиться о большом объёме дискового пространства. Может понадобиться несколько дисков объёмом 1–10 ТБ в зависимости от количества информации, которую нужно хранить на сервере.

9

Деплоим мобильное приложение или бота

Минимальный сервер: 2-ядерный процессор с частотой 2.8 ГГц, 2 ГБ RAM, 10-30 ГБ NVMe SSD

Рекомендованный сервер: от 2-ядерного процессора с частотой 5 ГГц, от 4 ГБ RAM, от 50 ГБ NVMe SSD

Размещение приложения на виртуальном сервере требует установки языков программирования и стека технологий. Это могут быть Java, Kotlin, Go, Python, Node.js, MongoDB, YAML и другие технологии.

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

SpaceWeb сравнили производительность Java и Node.js на серверах с процессорами разной частоты. Результаты показали почти вдвое превышающую производительность процессора с 5 ГГц в сравнении с 2.8 ГГц:

Все рекомендации по сборке сервера подготовила команда специалистов из SpaceWeb. Если у вас есть запрос на виртуальный сервер, ребята помогают подобрать и настроить его параметры под ваши цели. А ещё SpaceWeb даёт бесплатно протестировать сервер в течение 3 дней. Но самое крутое: подписка на сервер стоит от 299 руб./мес., а с промокодом TProger вы получите скидку 20%!

Реклама ООО «СпейсВэб»

Попробовать бесплатно