Гид по технологиям

Как бенчмаркировать сервер: CPU, память, диск и сеть

6 min read Серверы Обновлено 05 Dec 2025
Бенчмарки серверов: CPU, диск, память, сеть
Бенчмарки серверов: CPU, диск, память, сеть

Обложка: тестирование производительности сервера

Если вам нужен виртуальный приватный сервер (VPS) или выделенная машина, выбор обширен. Рынок меняется часто, и нет единственного «лучшего» провайдера для всех задач. Кому-то важна скорость диска, кому‑то — производительность CPU. Бенчмарки помогают измерить характеристики и подобрать оптимальное предложение именно для вашего рабочего профиля.

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

Небольшое вступление о тестах производительности

Бенчмарки бывают целевые и общие. Целевые тесты адаптируют параметры под конкретное приложение (например, база данных или файловый сервер). Общие тесты полезны для сравнения поставщиков, потому что они запускаются с одинаковыми параметрами и дают сопоставимые цифровые показатели. Важно: общие тесты могут не «высосать» весь потенциал оборудования, но они подходят для честного сравнения.

Определение: бенчмарк — автоматизированный тест, который измеряет производительность части системы (диск, CPU, память, сеть) при заранее заданных условиях.

Требования и подготовка

  • Используйте одну и ту же версию ОС на всех тестируемых серверах. В оригинальном сценарии использовали Ubuntu 18.04 LTS — это хороший общий старт. Можно выбрать другую версию, но держите её одинаковой на всех платформах.
  • Повторяйте каждый тест минимум дважды. Нередки кратковременные колебания у облачных провайдеров. Повторные прогоны выявляют нестабильность.
  • Если вы тестируете не под root, добавьте sudo перед apt и другими командами.
  • Применяйте идентичные параметры запусков на всех серверах. Иначе сравнение будет неверным.

Важное: если провайдер даёт сильно нестабильные результаты между запусками — это признак перегруженности хоста или слабой изоляции виртуальных машин. Такой провайдер вряд ли подойдёт для стабильных нагрузок.

Бенчмарк дисковой подсистемы

Сначала установим инструмент fio, универсальный тестер ввода-вывода.

apt update && apt install fio

Если пакет не найден, включите репозиторий universe:

apt install software-properties-common && add-apt-repository universe
apt update && apt install fio

Последовательное чтение показывает, какую максимальную скорость чтения демонстрирует диск и файловая система при последовательном доступе. Запуск для общего сравнения:

fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=2000M

Если тест заканчивается быстрее ~20 секунд (часто на SSD), увеличьте объём:

fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=8000M

Главное поле в выводе — READ: bw (bandwidth). На иллюстрации ниже выделены эти значения.

Последовательное чтение: ключевой показатель — пропускная способность чтения

Для последовательной записи выполните:

fio --name=seqwrite --readwrite=write --direct=1 --ioengine=libaio --bs=1M --size=2000M

Для стресс‑теста случайного чтения/записи используйте многопоточный сценарий с маленьким блоком:

fio --name=randrw --readwrite=randrw --direct=1 --ioengine=libaio --bs=4k --size=200M --group_reporting --numjobs=8

Если тест проходит очень быстро — увеличьте --size. Для случайных операций важнее не пропускная способность, а IOPS; в выводе смотрите read: IOPS и write: IOPS.

Случайные операции: IOPS для чтения и записи

Практическая интерпретация: высокие значения последовательного чтения/записи важны для больших файлов и CDN‑подобных задач; высокие IOPS — для баз данных и интенсивных транзакционных нагрузок.

Совет: замеряйте дисковую подсистему под реальной нагрузкой вашего приложения, если это возможно (например, с такими же файловыми размерами и шаблоном доступа).

Бенчмарк CPU и памяти

Geekbench — удобный кроссплатформенный тест. Скачайте архив, заменив ссылку на актуальную версию.

wget http://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz

Распакуйте архив:

tar -xzvf *.tar.gz

Распаковка архива Geekbench

Перейдите в каталог с распакованной версией (имя папки соответствует версии):

cd Geekbench-4.3.3-Linux
ls

Поиск исполняемого файла Geekbench

Запустите исполняемый файл (имя может измениться в новых версиях):

./geekbench4

Тест займёт время. По завершении вы получите ссылку на результаты в браузере или в консоли.

Результаты Geekbench

Интерпретация: Geekbench даёт обобщённые баллы для CPU и памяти. Для важных для вас подзадач лучше использовать и целевые бенчмарки (например, компиляция кода, параллельные вычисления, контейнерные сценарии).

Бенчмарк сетевой пропускной способности

Установите клиент speedtest:

apt install speedtest-cli

Запустите тест:

speedtest

Результаты Speedtest

Утилита обычно подбирает ближайший сервер автоматически. Если определение местоположения не сработало, можно вручную найти серверы в вашей стране:

speedtest --list | grep -i germany

Выберите нужный номер из списка и запустите тест с указанием сервера:

speedtest --server 4462

Важно: некоторые тестовые сервера могут быть перегружены, и результаты будут занижены. Попробуйте несколько серверов для верификации.

Мини‑методология тестирования (пошагово)

  1. Выберите ОС и установите одинаковую версию на всех тестируемых хостах.
  2. Зафиксируйте версии всех инструментов (fio, geekbench, speedtest-cli).
  3. Задокументируйте конфигурацию машины: CPU (ядра, частота), RAM, тип диска (HDD/SSD/NVMe), сеть (виртуальная/прямая), регион.
  4. Выполните каждый тест минимум 2 раза. Снимите среднее и разброс.
  5. Сравните результаты и проанализируйте соответствие вашим рабочим нагрузкам.
  6. Для важных решений повторите тесты через неделю — провайдеры могут обновлять оборудование.

Чек‑лист перед запуском

  • Одинаковая версия ОС на всех серверах
  • Обновлены пакеты: apt update && apt upgrade
  • Установлены инструменты: fio, geekbench, speedtest-cli
  • Отключены фоновые задания, которые могут повлиять на результаты
  • Фиксация времени запуска и конфигурации машины
  • Резервные прогоны для оценки стабильности

Критерии приёмки

  • Кандидат принимается, если средние результаты по ключевым метрикам в пределах ожидаемого SLA для вашего приложения.
  • Отвергнуть провайдера, если разница между прогоном 1 и прогоном 2 превышает заранее заданный порог нестабильности (например, 20% — на ваше усмотрение).
  • Для диска: минимальная IOPS/throughput соответствует требованиям базы данных в пиковые часы.

Примечание: пороговые значения определяются вашими внутренними требованиями к SLA.

Когда базовые бенчмарки не подходят

  • При специализированных задачах (GPU‑рендеринг, распределённые in‑memory хранилища) нужны целевые тесты.
  • Если инфраструктура использует шифрование диска на лету, стандартные fio‑тесты могут не отражать реальную производительность приложения.
  • При сильно вариабельной нагрузке в облаке общие тесты дают лишь приближённую картину; лучше проводить нагрузочные тесты ваших приложений.

Альтернативные подходы

  • Нагрузочные тесты на уровне приложения (например, для веб‑серверов используйте wrk, ab, JMeter).
  • Для БД — специализированные инструменты: sysbench, pgbench.
  • Для контейнерных сред — тесты с моделированием множества контейнеров и сетевых политик.

Ролевые чек‑листы

Администратор:

  • Проверить доступы, установить инструменты, собрать журналы.

Разработчик:

  • Предоставить реальные сценарии I/O и сетевых запросов для точного моделирования.

SRE/DevOps:

  • Автоматизировать прогоны и сбор метрик (скрипты, CI‑задачи), сохранять результаты в репозитории.

Короткая шпаргалка по командам

apt update && apt install fio
fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=8000M
fio --name=randrw --readwrite=randrw --direct=1 --ioengine=libaio --bs=4k --size=200M --group_reporting --numjobs=8
wget http://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz
tar -xzvf *.tar.gz
cd Geekbench-4.3.3-Linux
./geekbench4
apt install speedtest-cli
speedtest

Пример плана тестирования (Timeline)

  • День 0: подготовка — выбор образа ОС, установка инструментов, документирование конфигурации.
  • День 1: первые прогоны диска, CPU, сети; базовые измерения и логирование.
  • День 2: повторные прогоны, проверка стабильности, сравнение с предыдущими данными.
  • День 3: нагрузочные тесты приложений (если необходимо).
  • День 4: анализ, отчёт и рекомендация по выбору провайдера.

Привычные ошибки и как их избежать

  • Запускать тесты в часы пик провайдера — сравнения получатся неверными. Планируйте тесты в одинаковое время для всех серверов.
  • Не учитывать тип виртуального диска: local SSD vs network block storage дают разные профили.
  • Игнорировать вариативность — всегда делать несколько запусков.

Небольшой словарь (одна строка)

  • IOPS — операции ввода‑вывода в секунду.
  • BW (bandwidth) — пропускная способность, обычно в MB/s.
  • fio — инструмент для тестирования дисковой подсистемы.
  • Geekbench — кроссплатформенный тест CPU/памяти.
  • speedtest-cli — тест сетевой пропускной способности.

Принятие решения: простая логика

flowchart TD
  A[Начало: определите критичные метрики] --> B{Нужна ли низкая задержка диска?}
  B -- Да --> C[Оценивайте IOPS и латентность fio]
  B -- Нет --> D{Нужна ли высокая последовательная пропускная способность?}
  D -- Да --> E[Оценивайте seq read/write fio]
  D -- Нет --> F[Оценивайте CPU и сеть через Geekbench и speedtest]
  C --> G[Сравните результаты, выберите провайдера]
  E --> G
  F --> G
  G --> H[Принятие: согласование с требованиями и SLA]

Итоги

Это практическое руководство даёт базу для честных и воспроизводимых сравнений серверов. Используйте одинаковые параметры и среду, повторяйте прогоны, документируйте конфигурации. Для принятия решения сравнивайте те метрики, которые действительно важны для ваших приложений: IOPS для баз данных, пропускная способность для файловых хранилищ, CPU‑баллы для вычислительных задач и сеть для клиент‑ориентированных сервисов.

Ключевые шаги: подготовка окружения, запуск fio/geekbench/speedtest, повторные прогоны, анализ и принятие решения.

Сводка:

  • Бенчмарки полезны для сравнения провайдеров и выбора оптимальной конфигурации.
  • Одинаковые параметры запуска — обязательное условие корректного сравнения.
  • Повторяйте тесты и фиксируйте нестабильность как фактор отказа провайдера.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство