VDS · Наблюдение и производительность

Замер скорости диска и сети

Как честно измерить диск и канал на своей ступени VDS, какие цифры считать нормой и почему первые секунды теста всегда врут.

Обновлено 23 августа 2026 г.

Замер нужен в двух случаях: убедиться, что машина выдаёт заявленное, и понять, упирается ли ваше приложение в железо. Главное — мерить правильно, иначе получите красивые числа, не имеющие отношения к реальности.

Что должно получиться

Скорость диска ограничена по ступени: запись 60 МБ/с на ядро, но не ниже 60 и не выше 400 МБ/с, чтение вдвое выше записи. Сверх полки разрешён всплеск втрое выше на 30 секунд.

СтупеньЗапись, МБ/сЧтение, МБ/сВсплеск записи, МБ/с
VDS-160120180
VDS-2120240360
VDS-3240480720
VDS-43607201080
VDS-5, VDS-64008001200

Полоса сети — до 500 Мбит/с, то есть около 60 МБ/с в идеальных условиях.

Отсюда главный вывод про методику: короткий тест попадёт в окно всплеска и покажет завышенный результат. Мерить надо дольше 30 секунд или на объёме, заведомо превышающем всплеск.

Диск

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

dd if=/dev/zero of=/root/testfile bs=1M count=8192 oflag=direct status=progress
rm /root/testfile

oflag=direct обходит кэш страниц — без него вы измерите скорость памяти. Восемь гигабайт на VDS-1 пишутся заметно дольше 30 секунд, так что всплеск усреднится.

Чтение с холодным кэшем:

dd if=/dev/zero of=/root/testfile bs=1M count=4096 oflag=direct
sync && echo 3 > /proc/sys/vm/drop_caches
dd if=/root/testfile of=/dev/null bs=1M iflag=direct
rm /root/testfile

Более честный инструмент — fio, он умеет случайный доступ, а именно он важен для баз данных:

apt install -y fio
fio --name=rand --rw=randwrite --bs=4k --size=2G --numjobs=1 \
    --runtime=60 --time_based --direct=1 --ioengine=libaio --iodepth=32 \
    --filename=/root/fiotest
rm /root/fiotest

Смотрите на IOPS и задержку, а не только на мегабайты: у случайной записи блоками 4 КБ мегабайты всегда скромные.

Сеть

apt install -y speedtest-cli && speedtest-cli --secure
curl -o /dev/null -w '%{speed_download}\n' https://speed.cloudflare.com/__down?bytes=104857600
iperf3 -c ЧУЖОЙ_СЕРВЕР -t 30       # если есть вторая машина

Результат зависит от маршрута до точки замера, поэтому проверяйте по двум-трём разным источникам. Скорость до конкретного пользователя всегда ниже потолка канала — на пути есть ещё чужие сети.

Задержку меряйте отдельно: ping -c 20 8.8.8.8 и mtr -rwc 50 8.8.8.8 покажут, на каком участке теряются пакеты.

Частые ошибки

  • Тест без direct. dd без oflag=direct пишет в кэш и рисует гигабайты в секунду. Это скорость памяти.
  • Слишком маленький объём. 1 ГБ на VDS-3 укладывается во всплеск — получите завышенный результат.
  • Замер под нагрузкой. Если в это время работает база или бэкап, вы меряете остаток. Проверьте iostat перед стартом.
  • Забыть удалить тестовый файл. Несколько прогонов легко съедают 40 ГБ диска VDS-1, см. Кончилось место.
  • Мерить на диске восстановления. Режим SystemRescue не для замеров, там другой профиль работы.

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