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

Как бенчмаркировать сервер: 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
Автор
Редакция

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

Исправить проблемы обновления macOS Big Sur
macOS

Исправить проблемы обновления macOS Big Sur

Как быстро проверить свободное место на Mac
Mac

Как быстро проверить свободное место на Mac

Как связать номер iPhone с Mac и iPad
How-to

Как связать номер iPhone с Mac и iPad

Умная спальня: что и как подключить
Умный дом

Умная спальня: что и как подключить

Как увидеть удалённые сообщения WhatsApp
Мобильные советы

Как увидеть удалённые сообщения WhatsApp

Голосовой поиск и Google Now в Chrome на ПК
браузер

Голосовой поиск и Google Now в Chrome на ПК