1. Быстрый тест одной командой — YABS
Если нет времени разбираться — запустите YABS (Yet Another Bench Script). Один скрипт тестирует CPU, диск через fio и сеть через iperf3, выдаёт стандартизированный отчёт.
# Нужны: fio, iperf3, curl
apt install -y fio iperf3 curl
# Запуск — занимает 5–10 минут
curl -sL yabs.sh | bashПример вывода YABS — на что смотреть:
Basic System Information: CPU Model : Intel Xeon E5-2697 v4 @ 2.30GHz CPU Cores : 2 @ 2300.000 MHz CPU Cache : 46080 KB AES-NI : ✔ Enabled VM-x/AMD-V : ✔ Enabled Total Disk : 40.0 GB (3.1 GB Used) Total RAM : 4096 MB (88 MB Used) fio Disk Speed Tests: ┌─────────────────────────────────────────────────────────────────────┐ │ SEQUENTIAL SPEED │ ├───────────────┬──────────────────┬──────────────────────────────────┤ │ Block Size │ 512k (R) / (W) │ 1m (R) / (W) │ ├───────────────┼──────────────────┼──────────────────────────────────┤ │ Speed │ 1.47 GB/s / 958 MB/s │ 1.44 GB/s / 960 MB/s │ ├───────────────┴──────────────────┴──────────────────────────────────┤ │ RANDOM SPEED │ ├───────────────┬──────────────────┬──────────────────────────────────┤ │ Block Size │ 4k (R) / (W) │ 16k (R) / (W) │ ├───────────────┼──────────────────┼──────────────────────────────────┤ │ IOPS │ 115.8k / 63.4k │ 31.9k / 31.8k │ │ Speed │ 452.1 MB/s / 247.6 MB/s │ 497.1 MB/s / 496.2 MB/s│ └───────────────┴──────────────────┴──────────────────────────────────┘ iperf3 Network Speed Tests (IPv4): Provider | Location (Link) | Send Speed | Recv Speed Clouvider | London, UK (10G) | 1.35 Gbps | 1.29 Gbps Clouvider | Frankfurt, DE (10G) | 1.01 Gbps | 1.22 Gbps Uztelecom | Tashkent, UZ (10G) | 874 Mbps | 811 Mbps Geekbench 6 Benchmark Test: Single Core : 1218 Multi Core : 2104
curl | bash проверьте исходный код: github.com/masonr/yet-another-bench-script. YABS — открытый проект, но это правило распространяется на любые скрипты.2. Тест CPU — sysbench
Sysbench измеряет вычислительную мощность через поиск простых чисел. Хорошо показывает реальную производительность одного ядра — для большинства задач (веб-сервер, база данных) важнее single-core.
apt install -y sysbenchsysbench cpu --threads=1 --time=60 --cpu-max-prime=20000 run
# Ключевые строки в выводе:
# events per second: 1250.45 ← чем выше, тем лучше
# avg latency: 0.80ms ← время на одну операциюsysbench cpu --threads=$(nproc) --time=60 --cpu-max-prime=20000 run| Events/sec (1 поток) | Оценка | Что это значит |
|---|---|---|
| > 2000 | Отлично | Современный Xeon/EPYC, флагман |
| 1200–2000 | Хорошо | Хороший сервер, подходит для большинства |
| 700–1200 | Норм | Средний — ок для сайта, слабо для БД |
| < 700 | Слабо | Старый CPU или overcommit у провайдера |
Узнайте модель CPU: grep "model name" /proc/cpuinfo | head -1 — это важно при сравнении. AMD EPYC 7003 и Intel Xeon Gold на одной частоте дадут разные результаты.
3. Тест RAM — пропускная способность памяти
Пропускная способность памяти критична для баз данных, кешей (Redis), и любых задач с большими массивами данных.
sysbench memory --memory-total=4G --memory-oper=write run
# Ключевая строка: X.XX MiB/sec
# Тест чтения
sysbench memory --memory-total=4G --memory-oper=read run
# Многопоточный (ближе к реальной нагрузке)
sysbench memory --threads=$(nproc) --memory-total=8G run| Пропускная способность | Оценка | Тип памяти |
|---|---|---|
| > 40 000 МиБ/с | Отлично | DDR5 / DDR4-3200 |
| 20 000–40 000 МиБ/с | Хорошо | DDR4-2666 / DDR4-3200 |
| 10 000–20 000 МиБ/с | Норм | DDR4-2133 или throttling |
| < 10 000 МиБ/с | Слабо | DDR3 или жёсткий лимит |
4. Тест диска — IOPS и скорость
Дисковая производительность — главный фактор для баз данных, Docker и высоконагруженных сайтов. Замеряем два показателя: IOPS (операции/сек — важно для БД) и throughput (МБ/с — важно для резервных копий, больших файлов).
Быстрый тест через dd
Если не хочется устанавливать fio — dd даёт грубую оценку за 30 секунд:
# Тест записи (синхронный — честный результат)
dd if=/dev/zero of=/tmp/test.img bs=1M count=1024 conv=fdatasync
rm /tmp/test.img
# Тест чтения (сначала очищаем кэш!)
echo 3 > /proc/sys/vm/drop_caches
dd if=/tmp/test.img of=/dev/null bs=4k
# Хороший результат: > 400 МБ/с для SSD, > 1 ГБ/с для NVMeПрофессиональный тест через fio
fio — стандарт индустрии. Два ключевых теста которые нужно запустить:
apt install -y fio# Случайное чтение 4K блоками — имитирует нагрузку PostgreSQL/MySQL
fio --name=rand-read-4k --filename=/tmp/fio-test --size=2G --rw=randread --bs=4k --ioengine=libaio --iodepth=64 --numjobs=4 --runtime=60 --time_based --group_reporting
# Ключевые строки:
# read: IOPS=115k ← вот это важно
# lat (usec): min=X, avg=Y, max=Z ← задержка
rm /tmp/fio-testfio --name=seq-read --filename=/tmp/fio-seq --size=2G --rw=read --bs=1m --ioengine=libaio --iodepth=32 --numjobs=2 --runtime=60 --time_based --group_reporting
# Ключевая строка:
# read: IOPS=1498, BW=1498MiB/s ← пропускная способность
rm /tmp/fio-seqfio --name=mixed --filename=/tmp/fio-mixed --size=2G --rw=randrw --rwmixread=70 --bs=4k --ioengine=libaio --iodepth=64 --numjobs=4 --runtime=60 --time_based --group_reporting
rm /tmp/fio-mixed| Метрика | Отлично | Хорошо | Норм | Слабо |
|---|---|---|---|---|
| 4K IOPS (чтение) | > 100K | 50K–100K | 10K–50K | < 10K |
| 4K IOPS (запись) | > 60K | 30K–60K | 5K–30K | < 5K |
| Seq. чтение (МБ/с) | > 1000 | 500–1000 | 200–500 | < 200 |
| Seq. запись (МБ/с) | > 800 | 400–800 | 150–400 | < 150 |
| I/O latency (мс) | < 0.5 | 0.5–2 | 2–5 | > 5 |
lsblk -d -o NAME,ROTA — ROTA=0 это SSD/NVMe. Наличие /dev/nvme0n1 — NVMe. NVMe должен давать > 100K IOPS; если меньше — провайдер «перегружает» дисковый пул.5. Тест сети — скорость и задержка
speedtest-cli — быстрая оценка
# Официальный speedtest от Ookla
apt install -y curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash
apt install -y speedtest
# Запуск
speedtest
# Результат:
# Download: 943.45 Mbps
# Upload: 312.11 Mbps
# Latency: 2.14 msiperf3 — честный тест между серверами
Нужен второй сервер или публичный iperf3-сервер. Показывает реальную пропускную способность без ограничений CDN:
apt install -y iperf3
# Публичные iperf3-серверы (работают без регистрации):
# iperf.selectel.ru — Selectel, Москва
# speedtest.kolnet.ru — Россия
# iperf.worldstream.nl — Нидерланды
# Тест загрузки (download — сколько VPS может принять)
iperf3 -c iperf.selectel.ru -P 4 -t 30
# Тест отдачи (upload — сколько VPS может отправить)
iperf3 -c iperf.selectel.ru -P 4 -t 30 -R
# Ключевая строка:
# [SUM] 0.00-30.00 sec 3.41 GBytes 978 Mbits/sec sender| Скорость порта | Оценка | Для чего достаточно |
|---|---|---|
| > 5 Гбит/с | Отлично | Высоконагруженные сервисы, CDN-нода |
| 1–5 Гбит/с | Хорошо | Веб-сервер, VPN, стриминг |
| 100–999 Мбит/с | Норм | Большинство задач, мелкие сайты |
| < 100 Мбит/с | Слабо | Очень слабо — даже для VPN мало |
6. Тест латентности и TTFB
Задержка сети важнее пропускной способности для интерактивных приложений, игровых серверов и API. Измеряем ping и TTFB (время до первого байта).
Ping — базовая задержка
# К Google DNS — глобальная связность
ping -c 10 8.8.8.8
# К Яндексу — для русской аудитории
ping -c 10 ya.ru
# Статистика: смотрите avg и mdev (разброс)
# rtt min/avg/max/mdev = 0.8/1.2/2.1/0.3 ms
# ↑avg важно ↑mdev — стабильность
# Большой mdev (>10ms) = нестабильный канал| Маршрут | Отлично | Хорошо | Плохо |
|---|---|---|---|
| Москва → московский VPS | < 5 мс | 5–15 мс | > 30 мс |
| Москва → VPS Германия | 40–60 мс | 60–90 мс | > 120 мс |
| Москва → VPS США | 120–160 мс | 160–200 мс | > 250 мс |
| VPS → 8.8.8.8 | < 5 мс | 5–30 мс | > 50 мс |
curl TTFB — время отклика веб-сервера
Показывает сколько времени нужно серверу чтобы отдать первый байт — реальный показатель воспринимаемой скорости для посетителей сайта:
# Создаём шаблон формата вывода
cat > /tmp/curl-format.txt << 'EOF'
dns: %{time_namelookup}s
connect: %{time_connect}s
tls: %{time_appconnect}s
ttfb: %{time_starttransfer}s ← главная метрика
total: %{time_total}s
size: %{size_download} bytes
EOF
# Тест (замените URL на ваш сайт)
curl -w "@/tmp/curl-format.txt" -o /dev/null -s https://ya.ru
# Тест 5 раз и усредните
for i in {1..5}; do
curl -w "ttfb: %{time_starttransfer}s
" -o /dev/null -s https://ya.ru
doneЧто значит TTFB для SEO:
Google Core Web Vitals: TTFB < 200 мс — хорошо, < 800 мс — требует улучшения. Яндекс также учитывает скорость ответа сервера при ранжировании. TTFB = задержка сети + время обработки на сервере (PHP, БД).
7. Сводная таблица референсных значений
Итоговый чеклист — распечатайте и держите рядом при тестировании нового провайдера:
| Метрика | Инструмент | Отлично | Хорошо | Норм | Слабо |
|---|---|---|---|---|---|
| CPU (events/sec, 1 поток) | sysbench cpu | > 2000 | 1200–2000 | 700–1200 | < 700 |
| RAM (МиБ/с) | sysbench memory | > 40K | 20K–40K | 10K–20K | < 10K |
| 4K IOPS чтение | fio randread | > 100K | 50K–100K | 10K–50K | < 10K |
| 4K IOPS запись | fio randwrite | > 60K | 30K–60K | 5K–30K | < 5K |
| Seq. чтение МБ/с | fio read | > 1000 | 500–1000 | 200–500 | < 200 |
| I/O latency | fio / ioping | < 0.5 мс | 0.5–2 мс | 2–5 мс | > 5 мс |
| Сеть (Гбит/с) | iperf3 | > 5 | 1–5 | 0.1–1 | < 0.1 |
| Ping до 8.8.8.8 | ping | < 5 мс | 5–20 мс | 20–50 мс | > 50 мс |
| TTFB сайта | curl | < 100 мс | 100–200 мс | 200–500 мс | > 500 мс |
8. Готовый скрипт для сравнения провайдеров
Сохраните скрипт и запускайте на каждом новом VPS — вывод удобно копировать для сравнения в таблице:
#!/bin/bash
# Комплексный бенчмарк VPS — benchmark.sh
# Запуск: chmod +x benchmark.sh && ./benchmark.sh | tee result.txt
echo "============================================"
echo " VPS BENCHMARK — $(date '+%Y-%m-%d %H:%M')"
echo "============================================"
# Системная информация
echo ""
echo "--- СИСТЕМА ---"
echo "ОС: $(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2)"
echo "CPU: $(grep -m1 'model name' /proc/cpuinfo | cut -d: -f2 | xargs)"
echo "Ядра: $(nproc)"
echo "RAM: $(free -h | awk '/Mem:/{print $2}')"
echo "Диск: $(df -h / | awk 'NR==2{print $2 " total, " $4 " free"}')"
echo "Тип: $(systemd-detect-virt)"
# CPU
echo ""
echo "--- CPU (sysbench, 1 поток, 30 сек) ---"
if command -v sysbench &>/dev/null; then
sysbench cpu --threads=1 --time=30 run 2>/dev/null | grep -E "events per second|avg"
else
echo "Установите: apt install -y sysbench"
fi
# RAM
echo ""
echo "--- RAM (sysbench memory) ---"
if command -v sysbench &>/dev/null; then
sysbench memory --memory-total=2G run 2>/dev/null | grep -E "MiB/sec|transferred"
fi
# Диск
echo ""
echo "--- ДИСК (dd, быстрый тест) ---"
WRITE=$(dd if=/dev/zero of=/tmp/_bench bs=1M count=512 conv=fdatasync 2>&1 | tail -1)
rm -f /tmp/_bench
echo "Запись: $WRITE"
# Диск IOPS (fio)
echo ""
echo "--- ДИСК IOPS (fio 4K randread, 30 сек) ---"
if command -v fio &>/dev/null; then
fio --name=r --filename=/tmp/_fio --size=1G --rw=randread --bs=4k --ioengine=libaio --iodepth=64 --numjobs=2 --runtime=30 --time_based --group_reporting --output-format=terse 2>/dev/null | cut -d';' -f8 | xargs echo "4K read IOPS:"
rm -f /tmp/_fio
else
echo "Установите: apt install -y fio"
fi
# Сеть — ping
echo ""
echo "--- СЕТЬ (ping) ---"
ping -c 5 -q 8.8.8.8 2>/dev/null | tail -1
# TTFB
echo ""
echo "--- HTTP TTFB ---"
curl -w "ya.ru → %{time_starttransfer}s
" -o /dev/null -s https://ya.ru
curl -w "google.com → %{time_starttransfer}s
" -o /dev/null -s https://google.com
echo ""
echo "============================================"
echo " Готово. Сравнивайте с таблицей на vpsindex.ru/blog/test-skorosti-vps/"
echo "============================================"chmod +x benchmark.sh
apt install -y sysbench fio # зависимости
./benchmark.sh | tee result.txt
# result.txt — сохраните для сравнения провайдеров