Estado de los serviciosCrear cuenta
Cartas de la suerte

Бенчмарки и тесты VPS: как проверить сервер

После аренды VPS не стоит сразу ориентироваться только на характеристики тарифа. Количество vCPU, RAM, объём диска и скорость порта не всегда показывают реальную производительность сервера.

Для этого используются бенчмарки - специальные тесты, которые позволяют проверить CPU, оперативную память, диск и сеть. Особенно полезно проводить такие тесты, если вы сравниваете несколько VPS или хотите убедиться, что сервер соответствует заявленным характеристикам.

При этом benchmark не стоит воспринимать как абсолютную оценку сервера. Один VPS может показать отличные результаты в тесте CPU, но оказаться менее подходящим для базы данных из-за медленного диска. Другой может иметь не самые впечатляющие результаты процессора, но обеспечивать хорошую сетевую задержку и стабильность.

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

Что нужно проверить

**Для базовой оценки VPS достаточно проверить:

  • производительность процессора;
  • скорость оперативной памяти;
  • скорость и задержку диска;
  • сетевую задержку и потери пакетов;
  • пропускную способность;
  • стабильность сервера под нагрузкой.

Дополнительно полезно проверить количество доступных CPU, объём свободной RAM, наличие swap, температуру и другие показатели, если они доступны, а также загрузку системы во время выполнения тестов.

Рассмотрим основные проверки.

Перед тестированием VPS

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

Если одновременно работают база данных, Docker-контейнеры, веб-сервер и другие приложения, они будут использовать ресурсы VPS и влиять на результаты.

Основную информацию о системе можно посмотреть с помощью:

uname -a

Информацию о процессоре:

lscpu

Объём оперативной памяти:

free -h

Информацию о дисках:

lsblk

Если VPS только что создан и на нём ещё ничего не запущено, результаты будут ближе к производительности самого сервера. Если же вы тестируете рабочий VPS, наоборот, имеет смысл посмотреть результаты как в простое, так и под обычной нагрузкой.

Тест процессора

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

Для простого теста можно использовать Sysbench:

sudo apt install sysbench
sysbench cpu --cpu-max-prime=20000 run

Также можно посмотреть количество доступных ядер:

nproc

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

Sysbench показывает время выполнения определённого количества вычислений. Чем меньше время выполнения, тем быстрее процессор справляется с заданной задачей.

Однако один CPU benchmark не может полностью описать производительность процессора. Реальные приложения используют разные инструкции, разное количество потоков и по-разному нагружают CPU.

Поэтому результаты лучше сравнивать между серверами с одинаковыми настройками теста.

Однопоточный и многопоточный тест

Для некоторых приложений важна именно производительность одного ядра.

Например, часть операций веб-приложения или игрового сервера может выполняться преимущественно в одном потоке. В такой ситуации большое количество vCPU не всегда компенсирует низкую производительность каждого отдельного ядра.

Поэтому при сравнении VPS желательно смотреть как минимум на два сценария:

Single Core → производительность одного ядра

Multi Core → производительность нескольких ядер одновременно

Это помогает понять, как сервер поведёт себя как при одной тяжёлой операции, так и при одновременной работе большого количества процессов.

Проверка оперативной памяти

Сначала посмотрим объём доступной RAM:

free -h

Для проверки производительности памяти можно использовать:

sysbench memory run

Объём RAM особенно важен для баз данных, веб-серверов и приложений, которые работают с большим количеством данных. При нехватке памяти система начинает использовать swap, что обычно значительно снижает производительность.

Важно различать объём памяти и скорость памяти. Сервер с большим количеством RAM не обязательно будет быстрее сервера с меньшим объёмом, если конкретному приложению требуется совсем немного памяти.

Например, небольшому API может быть достаточно 2-4 ГБ RAM, тогда как база данных или несколько Docker-контейнеров могут быстро занять значительно больше.

Что такое Swap и почему он важен

Swap - это область на диске, которую Linux может использовать как дополнительную виртуальную память.

Проверить её наличие можно с помощью:

free -h

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

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

Если сервер постоянно работает на границе доступной RAM и активно использует swap, возможно, VPS пора масштабировать.

Проверка диска

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

Для быстрой проверки можно использовать:

dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct

После теста файл необходимо удалить:

rm testfile

Для более подробного тестирования лучше использовать fio. Он позволяет отдельно проверить чтение, запись, случайные операции, IOPS и задержки.

Это особенно важно для VPS с базами данных. Например, высокая последовательная скорость диска не гарантирует хорошую производительность при большом количестве мелких операций.

Что такое IOPS

IOPS (Input/Output Operations Per Second) - количество операций ввода-вывода, которое диск способен выполнять за секунду.

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

Например, диск может показывать высокую скорость последовательной записи, но при случайных операциях производительность окажется значительно ниже.

Поэтому смотреть только на показатель MB/s недостаточно.

Условно:

MB/s → насколько быстро можно передавать большие объёмы данных

IOPS → сколько операций ввода-вывода можно выполнить за секунду

Latency → насколько быстро начинается выполнение операции

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

Почему тест диска может быть неточным

При тестировании VPS нужно помнить, что виртуальный сервер обычно работает на общей физической инфраструктуре.

Если несколько виртуальных машин одновременно активно используют дисковую систему, результаты могут изменяться.

Кроме того, некоторые VPS используют кэширование. В результате короткий тест может показать высокую скорость, которая не сохранится при длительной нагрузке.

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

Проверка сетевой задержки

Сетевую задержку можно проверить обычным ping:

ping -c 20 1.1.1.1

При этом стоит обратить внимание не только на средний ping, но и на:

потери пакетов; минимальную и максимальную задержку; стабильность результата.

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

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

Что такое jitter

Jitter - это изменение задержки передачи пакетов во времени.

Например, соединение может показывать:

20 ms
21 ms
19 ms
20 ms
85 ms
21 ms

Среднее значение здесь может выглядеть нормально, но скачок до 85 ms уже говорит о нестабильности.

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

Проверка маршрута

Для просмотра маршрута можно использовать:

mtr -rw 1.1.1.1

MTR объединяет возможности ping и traceroute и позволяет увидеть, через какие узлы проходит трафик.

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

При этом не каждый высокий показатель на промежуточном узле означает проблему. Некоторые маршрутизаторы специально ограничивают или понижают приоритет ответов на диагностические запросы.

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

Проверка пропускной способности

Если необходимо проверить реальную пропускную способность между двумя серверами, удобно использовать iperf3.

На одном сервере запускается:

iperf3 -s

На втором:

iperf3 -c IP_СЕРВЕРА

Так можно проверить скорость передачи данных между двумя конкретными точками.

Это важнее, чем тестирование скорости скачивания с одного случайного сайта, поскольку результат загрузки файла зависит не только от вашего VPS, но и от удалённого сервера.

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

На результат влияют маршрутизация, провайдеры, пиринг, загруженность сети и удалённый сервер.

Почему скорость до разных стран отличается

VPS может показывать отличную скорость до одного сервера и значительно меньшую до другого.

Например:

VPS → Германия    - 900 Мбит/с
VPS → Нидерланды  - 700 Мбит/с
VPS → Финляндия   - 500 Мбит/с
VPS → США         - 250 Мбит/с

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

Поэтому если VPS предназначен для пользователей из конкретного региона, тестировать сеть лучше именно до этого региона.

Проверка IPv4 и IPv6

Если проект использует IPv6, желательно отдельно проверить его доступность и качество маршрута.

Например:

ping -6 -c 20 2606:4700:4700::1111

Наличие IPv6 в тарифе ещё не означает, что он будет настроен или использоваться приложением автоматически.

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

Проверка нагрузки и стабильности

Benchmark показывает состояние VPS в конкретный момент.

Если физический сервер хостинга загружен, результаты могут отличаться в разное время.

Во время тестов можно посмотреть нагрузку:

uptime

или:

top

Также стоит обратить внимание на CPU steal - показатель, который может указывать на конкуренцию виртуальных машин за физические ресурсы процессора.

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

Поэтому хороший вариант - повторить тесты несколько раз и сравнить результаты.

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

Как проверить VPS под длительной нагрузкой

Короткий benchmark может показать хороший результат, но этого иногда недостаточно.

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

Для проверки стабильности можно использовать более продолжительные тесты и одновременно наблюдать за:

  • температурой, если она доступна;
  • загрузкой CPU;
  • CPU steal;
  • использованием RAM;
  • swap;
  • дисковой активностью;
  • сетевой нагрузкой.

Главная цель такого тестирования - понять не максимальное значение производительности, а то, насколько стабильно сервер работает продолжительное время.

Какие тесты нужны для разных задач

Для сайта важны CPU, RAM, диск и стабильность сети.

Для базы данных особенно важны RAM, IOPS и задержки диска.

Для VPN или прокси важнее сетевой маршрут, latency, packet loss и производительность CPU.

Для игрового сервера большое значение имеют производительность одного ядра, ping, jitter и стабильность соединения.

Для файлового сервера важны скорость диска, сетевой канал и пропускная способность.

Для Docker-инфраструктуры стоит смотреть на CPU, RAM, диск и количество одновременно работающих контейнеров.

Таким образом, не существует одного универсального benchmark, который одинаково хорошо показывает пригодность VPS для всех задач.

Сравнение нескольких VPS

Если вы выбираете между несколькими провайдерами, желательно проводить одинаковые тесты на всех серверах.

Например:

VPS A
CPU: ...
RAM: ...
Disk Read: ...
Disk Write: ...
IOPS: ...
Ping: ...
Packet Loss: ...

VPS B
CPU: ...
RAM: ...
Disk Read: ...
Disk Write: ...
IOPS: ...
Ping: ...
Packet Loss: ...

Важно, чтобы тесты выполнялись с одинаковыми параметрами.

Если на одном сервере используется короткий CPU benchmark, а на другом длительный, сравнение уже будет не совсем корректным.

Также желательно учитывать стоимость VPS. Более высокие показатели benchmark сами по себе не означают, что тариф будет выгоднее для конкретного проекта.

Готовые комплексные тесты

Если не хочется запускать каждую команду отдельно, существуют готовые benchmark-скрипты, которые могут сразу проверить CPU, память, диск и сеть.

Такие тесты удобны для первоначального сравнения VPS, поскольку позволяют быстро получить набор результатов.

Но использовать случайные скрипты из интернета нужно осторожно.

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

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

Benchmark не всегда показывает реальную производительность приложения

Это один из самых важных моментов.

Допустим, VPS получил высокий результат CPU benchmark. Это ещё не означает, что конкретный сайт будет работать быстрее.

На производительность приложения могут влиять:

  • версия программного обеспечения;
  • настройки Nginx;
  • конфигурация PHP;
  • структура базы данных;
  • индексы;
  • код приложения;
  • кэширование;
  • количество запросов;
  • архитектура проекта.

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

Например, можно измерить время ответа API, скорость загрузки страницы или количество запросов в секунду, которое способен обработать сервер.

Именно такие показатели в конечном итоге важнее абстрактного результата benchmark.

Нужно ли тестировать VPS сразу после аренды

Да, особенно если сервер берётся для важного проекта.

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

Также тестирование помогает обнаружить проблемы ещё до переноса проекта.

Например, если сервер неожиданно показывает очень низкую скорость диска или большое количество сетевых потерь, лучше разобраться с этим до того, как на VPS появятся важные данные и пользователи.

Где взять VPS для собственного тестирования

👉 Планируете проверить, насколько мощный ваш VPS, и сравнить его с альтернативами? servhost можно использовать для размещения собственного сервера и последующего сравнения показателей CPU, диска и сети с другими VPS.

Главное преимущество такого подхода в том, что тестирование можно проводить непосредственно на реальном сервере, а не ориентироваться только на цифры из описания тарифа.

Итог

Бенчмарки помогают понять, насколько VPS соответствует заявленным характеристикам и подходит ли он для конкретной задачи.

Для обычной проверки достаточно пройтись по четырём основным пунктам:

CPU → RAM → Disk → Network

А если VPS будет использоваться под серьёзную нагрузку, стоит дополнительно проверить IOPS, latency, CPU steal и стабильность работы в течение длительного времени.

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

При этом не стоит воспринимать benchmark как единственную оценку качества VPS. Синтетические тесты показывают возможности отдельных компонентов, но не всегда отражают производительность конкретного приложения.

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

Если VPS используется под сайт, смотрите на скорость обработки запросов. Если под базу данных - обращайте внимание на RAM, IOPS и latency диска. Если под сетевые задачи - проверяйте маршрут, задержку, потери пакетов и реальную пропускную способность.

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

Seguir leyendo

Artículos de la misma sección y sobre los mismos temas.

Servicios
¿Te quedan dudas?

Mira el resto de artículos de la base de conocimientos: los temas vecinos también están explicados.