VPS Observatory
Проект

Методология

Версия формулы: 2026.07b

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

Принцип

Тариф говорит «2 vCPU, 4 ГБ, NVMe». Это описание счёта, а не производительности. Два сервера с одинаковой строчкой в тарифе отличаются в разы — из-за поколения процессора, плотности размещения, соседей по ноде и качества сети.

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

Как проходит тест

  1. 01
    Заказ

    Тест ставится в очередь: провайдер, тариф, локация. Сервер либо арендован нами, либо предоставлен для измерения.

  2. 02
    Проверка

    Агент подключается по SSH и проверяет, что сервер пригоден: свободное место, права, доступ в сеть.

  3. 03
    Подготовка

    Устанавливаются одинаковые инструменты измерения. Поддерживаются apt, dnf, yum, apk, pacman и zypper — версия ОС значения не имеет.

  4. 04
    Измерение

    Модули отрабатывают по очереди: система → процессор → память → диск → сеть. Ключевые тесты повторяются.

  5. 05
    Разбор

    Сырой вывод инструментов парсится в метрики с единицами измерения. Сырой лог сохраняется и доступен на странице теста.

  6. 06
    Баллы

    Метрики нормализуются и сворачиваются в баллы 0–100 по формуле ниже. Пересчёт рейтингов — автоматический.

Чем измеряем

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

Инструмент Что меряет Единицы Прогоны
sysbench Процессор: однопоточно и многопоточно событий/с 3 прогона → медиана
openssl speed Шифрование AES-256-GCM МБ/с 3 прогона → медиана
gzip -6 Сжатие данных МБ/с 3 прогона → медиана
fio Диск: 4K случайное чтение/запись, 1M последовательное чтение/запись IOPS и МБ/с, задержки p95/p99 1 прогон на профиль
ping Задержка до контрольных точек (Cloudflare, Google, Quad9) мс серия пакетов → медиана
curl Скорость скачивания Мбит/с 1 прогон

Память измеряется двумя прогонами на чтение и запись. Если инструмент недоступен, агент честно помечает это в результате и использует запасной метод (например, dd вместо fio — тогда IOPS не публикуются вовсе, а не выдумываются).

Повторы и разброс

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

Разброс — самая недооценённая цифра в бенчмарках. Если три прогона подряд дали заметно разные числа, это говорит о нестабильности: сервер делит ресурсы с шумными соседями. Стабильные 100 «попугаев» обычно лучше, чем скачки от 80 до 140.

Формула итогового балла

Итоговый балл — взвешенная сумма пяти категорийных баллов. Веса подобраны так, чтобы отражать типичный VPS-сценарий, где сеть значит не меньше «железа».

Категория Вес Почему
Пинг 23% Задержка до контрольных точек — то, что чувствует пользователь первым.
Скорость 23% Пропускная способность канала на скачивание.
Процессор 22% Вычисления, шифрование, сжатие.
Диск 22% Случайные операции и последовательная пропускная способность.
Память 10% Пропускная способность ОЗУ. Реже становится узким местом, поэтому вес ниже.
Из чего балл процессора
  • sysbench, один поток 40%
  • sysbench, все потоки 35%
  • OpenSSL AES-256-GCM 15%
  • gzip 10%
Из чего балл диска
  • 4K случайное чтение (IOPS) 30%
  • 4K случайная запись (IOPS) 30%
  • 1M последовательное чтение 20%
  • 1M последовательная запись 20%

Случайные операции весят вдвое больше последовательных: реальные базы данных и веб-приложения нагружают диск именно так, а красивые цифры «до 5 ГБ/с» из рекламы — это последовательное чтение, которое в жизни встречается редко.

Нормализация: как метрика становится баллом

Сравнивать IOPS с мегабитами напрямую нельзя, поэтому каждая метрика приводится к шкале 0–100. Мы используем смесь двух подходов:

  • Относительный (перцентиль). Позиция результата между 10-м и 90-м перцентилем сопоставимой группы. Устойчив к выбросам: один аномальный сервер не ломает шкалу.
  • Абсолютный (лог-шкала). Положение результата внутри опорного диапазона «плохо → отлично» (таблица ниже). Не зависит от того, кого ещё мы успели протестировать.

При выборке от 5 сопоставимых результатов балл считается как 0,5 × перцентиль + 0,5 × абсолютная шкала. Если результатов меньше — только абсолютная шкала.

Зачем смесь: на чистом перцентиле самый медленный сервер в маленькой группе получал 0 из 100, даже имея вполне нормальные показатели. Это дезинформация. Абсолютная составляющая не даёт баллу упасть в ноль, если сервер объективно неплох, а по мере накопления данных оценка сходится к относительной.

Метрика Опорный диапазон (0 → 100) Единицы
Процессор, один поток 120 – 6 000 событий/с
Процессор, все потоки 200 – 60 000 событий/с
AES-256-GCM 200 – 12 000 МБ/с
gzip 20 – 400 МБ/с
Память 3 000 – 60 000 МиБ/с
4K случайное чтение 1 500 – 250 000 IOPS
4K случайная запись 1 000 – 200 000 IOPS
1M последовательное чтение 150 – 8 000 МБ/с
1M последовательная запись 100 – 5 000 МБ/с
Пинг 1 – 250 мс (меньше — лучше)
Скорость скачивания 50 – 10 000 Мбит/с

Шкала логарифмическая: разница между 1 000 и 10 000 IOPS значит для реальной работы больше, чем между 200 000 и 210 000. Для пинга шкала инвертирована — меньше миллисекунд даёт больший балл.

Рейтинги под задачу

Лучший сервер «вообще» — понятие бессмысленное: для игрового сервера важен пинг, для базы данных — диск. Поэтому кроме общего рейтинга мы считаем отдельные, с другими весами:

Сценарий Веса
База данных Диск 40% · Память 35% · Процессор 25%
VPN Пинг 50% · Скорость 50%
Игровой сервер Пинг 75% · Скорость 25%
Стриминг Скорость 60% · Пинг 40%
Веб-хостинг Процессор 30% · Диск 30% · Пинг 20% · Скорость 20%
Вычисления Процессор 70% · Память 30%

Честность расчёта

  • Формула и её версия опубликованы. Изменение весов = смена версии.
  • Платные размещения и партнёрские ссылки не влияют на расчёт и позиции. Реклама помечена и вынесена из рейтинга.
  • Тесты, инициированные провайдером, помечаются, но считаются по той же формуле.
  • Ручных корректировок позиций не существует — их некуда вписать в коде.

Чего эта методология не может

Честный метод обязан называть свои границы. Наши:

  • Это снимок, а не гарантия. Результат относится к конкретному серверу в конкретный момент. Завтра на этой ноде может появиться шумный сосед.
  • Один сервер не описывает провайдера целиком. Чем больше у провайдера тестов в разных локациях, тем надёжнее вывод. Количество тестов мы показываем всегда.
  • Мы не измеряем поддержку, аптайм за годы и биллинг. Это важные вещи, но их нельзя измерить агентом за 20 минут.
  • Скорость сети зависит от маршрута. Замер из Европы в Азию говорит о канале между этими точками, а не о том, что сервер «плохой».
  • Провайдер теоретически может распознать тест и выдать лучшие ресурсы. Против этого работает регулярность и неанонсированность повторных измерений.

Проверьте нас

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

Нашли ошибку в измерении или расчёте — напишите: форму обратной связи. Подтверждённые ошибки мы исправляем публично.

Смотрите также: О проекте · Условия использования