Замер скорости диска и сети
Как честно измерить диск и канал на своей ступени VDS, какие цифры считать нормой и почему первые секунды теста всегда врут.
Обновлено 23 августа 2026 г.
Замер нужен в двух случаях: убедиться, что машина выдаёт заявленное, и понять, упирается ли ваше приложение в железо. Главное — мерить правильно, иначе получите красивые числа, не имеющие отношения к реальности.
Что должно получиться
Скорость диска ограничена по ступени: запись 60 МБ/с на ядро, но не ниже 60 и не выше 400 МБ/с, чтение вдвое выше записи. Сверх полки разрешён всплеск втрое выше на 30 секунд.
| Ступень | Запись, МБ/с | Чтение, МБ/с | Всплеск записи, МБ/с |
|---|---|---|---|
| VDS-1 | 60 | 120 | 180 |
| VDS-2 | 120 | 240 | 360 |
| VDS-3 | 240 | 480 | 720 |
| VDS-4 | 360 | 720 | 1080 |
| VDS-5, VDS-6 | 400 | 800 | 1200 |
Полоса сети — до 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 не для замеров, там другой профиль работы.
Если результат стабильно ниже таблицы при спокойной машине, приложите вывод команд и обратитесь в поддержку. Если он ровно совпадает с полкой — вы упёрлись в ступень, и помогает только переход выше.