Как выбрать выделенный сервер для хостинга сайтов: процессор, диски и память

Для хостинга сайтов на PHP (WordPress, 1С-Битрикс, другие CMS) главное в процессоре — высокая частота и быстрое ядро. Один PHP-запрос выполняется в одном потоке, поэтому время ответа страницы определяет скорость одного ядра. Количество ядер отвечает за другое: сколько запросов сервер обработает одновременно.

Вторая по важности часть — диски. Для базы данных и файлов сайтов сегодня нужен NVMe в зеркале (RAID1), а не SATA HDD. Третья — память с запасом под кэш базы и PHP-FPM, лучше ECC. Дальше идут сеть, удалённая консоль (IPMI) и условия провайдера: время замены железа, резервный канал, защита от DDoS.

Ниже — критерии выбора на 2026 год, способы самому замерить сервер перед арендой и реальные результаты теста, который автор сайта провёл в августе 2020 года. Тогда дешёвые десктопные Ryzen обогнали серверные Xeon на PHP-задачах — и этот вывод в целом подтверждается до сих пор.

Что важно при выборе сервера в 2026 году

Процессор: частота важнее количества ядер

PHP-FPM обрабатывает каждый запрос в одном воркере, а воркер — это один процесс на одном ядре. Страница, которая генерируется 300 мс на ядре с частотой 3 ГГц, на ядре новой архитектуры с частотой 5 ГГц сгенерируется заметно быстрее. Добавление ядер эту страницу не ускорит.

Отсюда практическое правило:

  • для небольшого числа сайтов с тяжёлыми страницами (Битрикс, WooCommerce) выбирайте процессор с максимальной частотой в турбо-режиме и современной архитектурой;
  • для сотен лёгких сайтов или высокой посещаемости важнее число ядер, но частота всё равно не должна быть низкой;
  • MySQL и MariaDB выполняют один запрос тоже в одном потоке, поэтому для медленных запросов частота так же решает.

Ориентир по числу ядер: сколько одновременных PHP-запросов вы ожидаете в пике, плюс ядра под базу данных, Nginx, Redis и систему. Как подобрать число воркеров PHP-FPM, разобрано в статье Настройка VPS для быстрой работы сайта WordPress.

Десктопный или серверный процессор

Провайдеры охотно сдают серверы на Ryzen и Core: они дешевле, а по частоте обгоняют многие Xeon и EPYC. Между «чистым десктопом» и большими серверными CPU есть средний класс: AMD EPYC 4004 и 4005 (сокет AM5, архитектуры Zen 4 и Zen 5) и Intel Xeon E-2400 / Xeon 6300. Это по сути те же быстрые десктопные ядра, но с официальной поддержкой ECC и серверными платами.

КритерийДесктоп (Ryzen, Core)Начальный сервер (EPYC 4004/4005, Xeon E / 6300)Многоядерный сервер (EPYC 9004/9005, Xeon 6)
Частота ядраВысокаяВысокаяНиже, у частотных моделей — средняя
ЯдерДо 16До 16 (EPYC), до 8 (Xeon)Десятки и больше
ECCЗависит от платы, часто нетДаДа, Registered ECC
Максимум памятиОбычно 128–192 ГБОбычно до 192 ГБТерабайты
IPMI / BMCОбычно нет, только KVM провайдераЕсть на серверных платахЕсть
Для чегоОдин-два проекта, тест, разработкаХостинг PHP-сайтов, небольшие базыВиртуализация, много клиентов, большие БД

Точные характеристики конкретной модели проверяйте на сайте производителя (amd.com, intel.com): частоты, число каналов памяти и поддержку ECC.

Диски: NVMe, зеркало и ресурс записи

  • NVMe вместо SATA. База данных и PHP-сайты с тысячами мелких файлов упираются в задержки случайного доступа. У NVMe они на порядок ниже, чем у HDD, и заметно ниже, чем у SATA SSD.
  • Два диска в RAID1. Одиночный диск — это ожидание аварии. Программное зеркало mdadm или ZFS mirror надёжно и не требует аппаратного контроллера.
  • Серверные модели. Обращайте внимание на ресурс записи (TBW или DWPD) и защиту от потери питания (PLP). Потребительские NVMe быстро изнашиваются под нагрузкой базы данных и могут резко терять скорость при долгой записи.
  • Отдельный диск или хранилище под резервные копии. RAID — не бэкап.

Сразу после получения сервера посмотрите состояние дисков: smartctl -a /dev/nvme0n1 или nvme smart-log /dev/nvme0n1. Счётчики наработки и износа покажут, новые ли диски вам выдали. Подробнее — в статье Проверка и восстановление дисков в Linux.

Память: объём и ECC

Память на хостинг-сервере расходуется так: система и сервисы, буферный пул InnoDB (основная часть для базы), PHP-FPM (число воркеров, умноженное на память одного воркера), Redis или Memcached, файловый кэш ОС. Нехватка памяти бьёт сильнее, чем медленный процессор: начинается swap, и сайт встаёт.

ECC исправляет одиночные ошибки памяти и сообщает о них. Без ECC сбойный модуль проявляется случайными падениями процессов и тихой порчей данных в базе. Для сервера, на котором хранятся чужие сайты, ECC стоит доплаты. Проверить, работает ли ECC на арендованном сервере: dmidecode -t memory (поле «Error Correction Type») и наличие устройств в /sys/devices/system/edac/mc/.

Настройку базы под доступную память смотрите в статье Оптимизация MySQL 8 и MariaDB.

Сеть

  • Скорость порта и гарантированная полоса: 1 Гбит/с с гарантией лучше, чем 10 Гбит/с «до».
  • Объём трафика или его отсутствие в тарифе, стоимость превышения.
  • Базовая защита от DDoS и что будет с сервером при атаке (отключение, фильтрация).
  • Количество IPv4, наличие IPv6, возможность приватной сети между вашими серверами.
  • Расположение площадки: для российской аудитории задержка из Москвы или Петербурга ниже, чем из-за рубежа.

IPMI и удалённая консоль

Удалённая консоль (IPMI, iDRAC, iLO или KVM-over-IP провайдера) нужна, чтобы переустановить систему со своего ISO, увидеть экран при панике ядра и восстановить сервер без звонка в поддержку. Без неё любая ошибка в настройке сети или загрузчика превращается в заявку и ожидание.

Никогда не оставляйте интерфейс BMC открытым в интернет. В прошивках BMC регулярно находят уязвимости, а доступ к нему равен физическому доступу к серверу. Нормальная схема: доступ через VPN провайдера, отдельную приватную сеть или по белому списку адресов, сложный пароль и обновлённая прошивка.

Провайдер и условия

  • Время замены неисправного железа по договору (SLA) и есть ли запчасти на площадке.
  • Rescue-система для загрузки по сети.
  • Можно ли собрать конфигурацию под себя: например, два NVMe под систему и базу и отдельный диск под копии.
  • Возможность взять второй сервер в другом дата-центре для резерва.

Как самому замерить сервер

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

Процессор: sysbench

# Debian / Ubuntu
apt install sysbench
# AlmaLinux / Rocky (пакет из EPEL)
dnf install epel-release && dnf install sysbench

sysbench cpu --threads=1 --time=30 run
sysbench cpu --threads=$(nproc) --time=30 run

Первая команда показывает скорость одного ядра — она важнее для PHP. Вторая — суммарную мощность. Смотрите строку events per second: чем больше, тем лучше. Сравнивать можно только результаты одной версии sysbench. Репозиторий EPEL подробно описан в статье Репозитории EPEL и Remi для AlmaLinux и Rocky Linux.

PHP: bench.php из исходников PHP

В исходном коде PHP есть скрипт Zend/bench.php — набор синтетических PHP-тестов. Берите версию из ветки, совпадающей с установленным PHP:

php -v
curl -O https://raw.githubusercontent.com/php/php-src/PHP-8.3/Zend/bench.php
php bench.php

В конце выводится строка Total со временем в секундах: меньше — лучше. Запустите тест 3–5 раз и берите медиану. Учтите, что OPcache и JIT в CLI по умолчанию выключены, а на реальном сайте OPcache включён. Для замера производительности собственного кода есть фреймворк PHPBench, но для сравнения серверов достаточно bench.php и реального сайта.

Диски: fio

apt install fio      # или dnf install fio
fio --name=randrw --filename=/var/tmp/fio.test --size=4G \
    --rw=randrw --rwmixread=70 --bs=4k --iodepth=32 --numjobs=4 \
    --ioengine=libaio --direct=1 --runtime=60 --time_based --group_reporting
rm /var/tmp/fio.test

Смотрите IOPS и задержки (clat, особенно 99-й перцентиль). Тест случайного доступа блоками 4 КБ ближе всего к нагрузке базы данных. Для базы есть и sysbench oltp_read_write, но он требует подготовки тестовой БД.

Реальный сайт

Самый честный тест — копия вашего сайта. Перенесите файлы и базу, настройте Nginx и PHP-FPM так же, как на рабочем сервере, и замерьте:

# время генерации одной страницы (TTFB), повторить несколько раз
curl -o /dev/null -s -w '%{time_starttransfer}\n' https://test.example.ru/

# нагрузка: 1000 запросов, 20 одновременно
ab -n 1000 -c 20 https://test.example.ru/catalog/

ab входит в пакет apache2-utils (Debian, Ubuntu) или httpd-tools (AlmaLinux). Тестируйте страницы без кэша — каталог, поиск, корзину. Отдача кэшированной страницы покажет скорость Nginx, а не процессора. В 1С-Битрикс есть встроенный «Монитор производительности», он удобен для сравнения серверов между собой. Нагрузочный тест запускайте только по своему серверу.

Тест автора, август 2020 года: PHP на Xeon и Ryzen

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

Задача была практическая: подобрать серверы для размещения 1С-Битрикс и хостинга сайтов на WordPress и других CMS. Проект требовал четыре рабочих сервера и один резервный, поэтому цена аренды была критична. Сравнивали серверные Intel Xeon E5-2630, Silver 4114, Gold 6140 и десктопные AMD Ryzen. Интересовала прежде всего скорость работы PHP.

Инструмент: AF’s PHP Benchmark tool version 1.0.0. Меньшее время — лучше.

Итоги PHP-теста (август 2020)

ПроцессорGENERAL, сSTRINGS, сARRAYS, сTOTAL TIME, с
Intel Xeon E5-2630 2.30GHz12.9628.9235.4477.33
Intel Xeon Silver 4114 2Ghz9.2021.2826.5557.03
Intel Xeon Gold 6140 2.30GHz6.8917.6625.7250.27
AMD Ryzen 3200G 3.6 ГГц4.3612.0116.8433.20

Полный вывод теста

Сервер с процессором Intel Xeon CPU E5-2630 2.30GHz:

[GENERAL]
1/10 Cycles (if, while, do)  ...................... 6.99s
2/10 Generate Random Numbers  ..................... 2.36s
3/10 Objects  ..................................... 3.60s
Time: 12.96

[STRINGS]
4/10 Simple Strings Functions  ................... 12.08s
5/10 Explode/Implode  ............................. 6.51s
6/10 Long Strings  ............................... 10.26s
7/10 String Hash  ................................. 0.08s
Time: 28.92

[ARRAYS]
8/10 Fill arrays  ................................ 11.76s
9/10 Array Sort (Integer Keys and Values)  ........ 9.43s
10/10 Array Sort (String Keys and Values)  ........ 14.25s
Time: 35.44

TOTAL TIME: 77.33

Сервер с процессором Intel Xeon Silver 4114 2Ghz:

[GENERAL]
1/10 Cycles (if, while, do)  ...................... 3.67s
2/10 Generate Random Numbers  ..................... 1.98s
3/10 Objects  ..................................... 3.55s
Time: 9.20

[STRINGS]
4/10 Simple Strings Functions  .................... 9.17s
5/10 Explode/Implode  ............................. 4.93s
6/10 Long Strings  ................................ 7.12s
7/10 String Hash  ................................. 0.06s
Time: 21.28

[ARRAYS]
8/10 Fill arrays  ................................. 6.56s
9/10 Array Sort (Integer Keys and Values)  ........ 7.56s
10/10 Array Sort (String Keys and Values)  ........ 12.42s
Time: 26.55

TOTAL TIME: .. 57.03

Сервер с процессором Intel Xeon Gold 6140 2.30GHz:

[GENERAL]
1/10 Cycles (if, while, do)  ...................... 3.04s
2/10 Generate Random Numbers  ..................... 1.25s
3/10 Objects  ..................................... 2.60s
Time: 6.89

[STRINGS]
4/10 Simple Strings Functions  .................... 6.23s
5/10 Explode/Implode  ............................. 5.07s
6/10 Long Strings  ................................ 6.30s
7/10 String Hash  ................................. 0.07s
Time: 17.66

[ARRAYS]
8/10 Fill arrays  ................................. 3.61s
9/10 Array Sort (Integer Keys and Values)  ........ 8.78s
10/10 Array Sort (String Keys and Values)  ........ 13.32s
Time: .. 25.72

TOTAL TIME: 50.27

Сервер с процессором AMD Ryzen 3200G 3.6 ГГц:

[GENERAL]
1/10 Cycles (if, while, do)  ...................... 2.32s
2/10 Generate Random Numbers  ..................... 0.60s
3/10 Objects  ..................................... 1.44s
Time: 4.36

[STRINGS]
4/10 Simple Strings Functions  .................... 5.22s
5/10 Explode/Implode  ............................. 3.35s
6/10 Long Strings  ................................ 3.40s
7/10 String Hash  ................................. 0.04s
Time: 12.01

[ARRAYS]
8/10 Fill arrays  ................................. 2.85s
9/10 Array Sort (Integer Keys and Values)  ........ 5.93s
10/10 Array Sort (String Keys and Values)  ......... 8.06s
Time: 16.84

TOTAL TIME: 33.20

Выводы автора в 2020 году

  • Xeon Gold 6140 оказался быстрее Silver 4114, но не настолько, чтобы платить за аренду вдвое больше. Среди протестированных Intel выбор пал на Silver 4114.
  • Самый дешёвый из протестированных AMD обогнал Xeon Gold 6140. Объяснение автора: на скорость PHP влияют частота процессора и памяти, и у AMD частота процессора 3.6 ГГц и памяти 3.2 ГГц решила вопрос скорости в его пользу.
  • Отказоустойчивость решалась не «серверным» железом, а резервированием и виртуализацией: в схеме автора переключение на резервный сервер занимало не более 65 секунд.

Тест 1С-Битрикс: Ryzen 5 3600 против Ryzen 7 3700X (август 2020)

Вторым этапом проверяли готовый образ виртуальной машины Bitrix для KVM, загруженный с официального сайта, без настроек производительности. Сравнивали Ryzen 5 3600 и Ryzen 7 3700X с одинаковой базовой частотой 3.6 ГГц. Результаты встроенного теста Битрикс в оригинале были на скриншотах; ниже — наблюдения автора:

Результаты тестирования скорости 1С-Битрикс на процессоре AMD Ryzen 5 3600

Результаты тестирования скорости 1С-Битрикс на процессоре AMD Ryzen 7 3700X

  • оба сервера показали хороший уровень производительности, Ryzen 7 3700X в целом мощнее;
  • при той же конфигурации на 3700X файловая система работала быстрее, а запросы к MySQL — медленнее;
  • дальнейшие тесты показали, что скорость чтения из MySQL не растёт с числом ядер и зависит от частоты процессора; с ростом числа ядер она скорее снижалась;
  • выигрыш от большего числа ядер возможен, но только после тонкой настройки системы, а образ использовался со стандартными настройками.

Почему аренда, а не своё железо

Автор также объяснял, почему команда выбрала аренду, а не размещение своих серверов в дата-центре. Пять администраторов, один дежурит ночью. При поломке своего сервера кто-то должен ехать в ЦОД, а на площадке нужно держать запас комплектующих и платить за ячейку под ЗИП. Пока сотрудник разбирается с одной проблемой, может случиться другая. Кроме того, проекту нужны были площадки в нескольких городах, минимум Москва и Санкт-Петербург, а обслуживать своё железо удалённо сложнее и дороже. С учётом всех расходов и рисков аренда оказалась проще.

Что из этого актуально сегодня

Конкретные модели 2020 года на рынке аренды почти не встречаются. Но главный вывод подтверждается: для PHP-сайтов быстрое ядро с высокой частотой важнее большого числа медленных ядер. Сегодня этот класс представлен процессорами Ryzen и EPYC 4004/4005 на сокете AM5 и Xeon E-2400 / 6300. Добавились аргументы, которых в 2020 году не было в тесте: ECC в недорогих серверных процессорах и повсеместный NVMe. Повторяйте сравнение сами по методике из раздела выше — на своём сайте и с актуальной версией PHP.

Частые вопросы

Можно ли держать сайты на сервере с десктопным процессором?

Да, многие провайдеры так делают, и для PHP такие серверы часто быстрее серверных Xeon. Слабые места десктопных платформ — обычно нет ECC и IPMI, меньше максимальный объём памяти. Если бюджет позволяет, лучше взять EPYC 4004/4005 или Xeon E/6300: скорость ядра та же, а ECC есть. В любом случае нужны RAID1 и резервные копии на другом сервере.

Сколько ядер нужно для хостинга сайтов?

Считайте от пиковой нагрузки: сколько PHP-запросов выполняется одновременно, плюс ядра под базу данных и систему. Для нескольких сайтов на WordPress часто хватает 4–8 быстрых ядер. Для крупного магазина на Битрикс или десятков проектов нужно больше. Число ядер не ускоряет отдельную страницу — только позволяет обслужить больше посетителей одновременно.

NVMe или SATA SSD для сайтов?

NVMe. Разница в цене аренды сейчас небольшая, а задержки при работе базы данных и большого числа мелких файлов заметно ниже. SATA SSD и HDD имеет смысл брать как дополнительный диск под резервные копии и архивы. Главное — минимум два диска в зеркале.

Нужна ли ECC-память, если есть резервные копии?

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

Как сравнить два сервера перед арендой?

Попросите у провайдера тестовый период. Поставьте одинаковую ОС и версию PHP, запустите sysbench cpu --threads=1, bench.php из исходников PHP и fio для дисков. Затем разверните копию своего сайта и замерьте время ответа некэшированных страниц через curl и ab. Решение принимайте по результатам на своём сайте, а не по синтетике.