MAATRIX / Блог / Медленный диск на VPS: как проверить

Медленный диск на VPS: как проверить

Медленный диск на VPS: как проверить

MAATRIX

Сайт стал открываться медленно, база данных отвечает с задержкой, а top показывает высокий iowait при незагруженном процессоре — всё указывает на медленный диск. На VPS это частая и коварная проблема: процессор и память в норме, а всё упирается в дисковый ввод-вывод. Ниже пошаговое решение проблемы — как проверить скорость диска на VPS, измерить IOPS, найти причину тормозов и понять, когда пора на NVMe.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Быстрая проверка: измеряем скорость и IOPS

Первый шаг — понять, действительно ли диск тормозит, и насколько. Самый показательный симптом виден в top или htop: если параметр wa (iowait) держится высоким, процессор простаивает в ожидании диска. Дальше измеряем реальные показатели. Линейную скорость чтения диска быстро покажет hdparm, а честный тест случайных операций — fio:

# нагрузка iowait в реальном времени
top   # смотрим на поле %wa
# линейная скорость чтения
hdparm -Tt /dev/vda
# случайные IOPS — то, что реально важно для баз и сайтов
fio --name=randrw --ioengine=libaio --rw=randrw --bs=4k \
    --numjobs=1 --size=1G --runtime=30 --time_based --direct=1

Для сайтов и баз данных важна не линейная скорость в мегабайтах, а именно число случайных операций в секунду (IOPS) и задержка. Хороший NVMe даёт десятки тысяч IOPS при задержке в доли миллисекунды, медленный сетевой storage или перегруженный HDD — сотни IOPS с задержками в десятки миллисекунд. Если fio показывает низкие IOPS и высокую latency, причина тормозов найдена.

Читаем iowait правильно

Высокий iowait сам по себе не всегда означает поломку — он значит, что процессы ждут диск. Важно понять, это ваша нагрузка упёрлась в потолок диска или диск неожиданно замедлился. Инструмент iostat показывает загрузку устройства и очередь запросов:

# ставим sysstat, если нет
apt install sysstat -y
# статистика по дискам каждые 2 секунды
iostat -dx 2

Смотрите на колонку %util — при значениях около 100% диск загружен полностью и стал узким местом. Колонка await показывает среднюю задержку операции в миллисекундах: единицы — хорошо, десятки — уже больно. Если %util высок при скромной нагрузке приложений, значит, сам storage медленный. Если же нагрузка реально большая — вопрос в том, тянет ли ваш тариф такой профиль, и здесь помогает переход на более быстрый диск.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Заказать VPS на NVMe

Ищем, что грузит диск

Прежде чем винить провайдера, проверьте, не создаёт ли нагрузку что-то на самом сервере. Часто виноват конкретный процесс: неоптимальные запросы к базе с полным сканированием таблиц, избыточное логирование, своп при нехватке памяти, фоновый бэкап или индексация. Найти виновника помогает iotop:

apt install iotop -y
# кто реально пишет и читает с диска
iotop -oPa

Особое внимание — свопу. Если оперативной памяти не хватает, система начинает активно использовать swap на диске, и это выглядит как «медленный диск», хотя корень в нехватке RAM. Проверьте free -h: если swap активно используется, а память забита, лечить надо память, а не диск. Точно так же гигабайты debug-логов или неоптимальная база могут насиловать диск запросами, которые стоит просто оптимизировать.

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

Когда виноват сосед по гипервизору

На виртуальных серверах есть эффект, которого нет на выделенном железе, — «шумный сосед». Несколько VPS делят один физический диск, и если сосед устроил тяжёлую нагрузку, ваши операции встают в очередь. Проявляется это как внезапные и нерегулярные просадки: только что было быстро, а через минуту await подскочил без изменений в вашей нагрузке.

Отличить эту ситуацию можно по стабильности: если ваши тесты fio дают разные результаты в разное время суток без изменений с вашей стороны, дело в общем storage и соседях. На тарифах с гарантированными IOPS или на выделенном железе такого нет. Если storage под вами перегружен чужой активностью, единственное реальное решение — площадка, где ресурсы диска не размазаны между сотней клиентов на медленных дисках.

Оптимизация на стороне системы

Часть проблем решается настройкой, без смены сервера. Если тормозит база — почти всегда дело в запросах и индексах, а не в диске: добавьте недостающие индексы, включите медленный лог запросов и разберите тяжёлые. Настройте кэширование, чтобы горячие данные жили в памяти и не дёргали диск. Вынесите объёмные логи на ротацию, чтобы они не росли бесконтрольно.

Для файловых систем есть свои приёмы: монтирование с опцией noatime убирает лишние записи времени доступа при каждом чтении, что заметно на нагруженных серверах. Проверьте, не забит ли диск под завязку, — заполненная под 100% файловая система работает медленнее и рискует повреждением. Эти меры выжимают максимум из того, что есть, но у медленного storage всё равно есть физический потолок.

Когда нужен NVMe и более быстрый тариф

Если система оптимизирована, свопа нет, лишних процессов нет, а IOPS всё равно упираются в низкий потолок — значит, дело в самом диске, и честный вывод: нужен носитель побыстрее. Разница между старым SATA SSD, сетевым storage и локальным NVMe огромна — это отличие в десятки раз по IOPS и в разы по задержке. Для баз данных, высоконагруженных сайтов и любых проектов с активной записью локальный NVMe меняет отзывчивость радикально.

Это тот случай, когда апгрейд оправдан прямо. У MAATRIX VPS и выделенные серверы идут на быстрых NVMe-накопителях в локациях RU, US и UK, с оплатой из России картой или криптой. Если диагностика показала, что упор именно в диск, переезд на NVMe-тариф решает проблему там, где никакая настройка уже не помогает. Выбирайте локацию по аудитории: RU для минимального пинга по России, US и UK для зарубежных проектов.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Заказать VPS на NVMe

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Как понять, что тормозит именно диск?

Смотрите iowait в top (поле %wa) и %util с await в iostat. Высокий iowait при незагруженном процессоре и большие задержки операций указывают на диск. Подтвердит тест случайных IOPS через fio.

Что важнее — скорость в МБ/с или IOPS?

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

Диск тормозит скачками — почему?

На VPS это часто «шумный сосед»: несколько серверов делят один физический storage, и чужая нагрузка ставит ваши операции в очередь. Помогают тарифы с гарантированными IOPS, быстрый NVMe или выделенное железо.

Может ли дело быть не в диске?

Да. Частые причины «мнимо медленного диска» — активный swap при нехватке памяти, неоптимальные запросы к базе, гигабайты логов. Проверьте free -h и iotop прежде, чем винить сам носитель.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.