Важен ли высокий показатель IOPS для быстрой работы сайтов

IOPS – название группы показателей производительности дисковой подсистемы, расшифровывается «Input/output Operations Per Second» – количество операций ввода/вывода в секунду. Под одной операцией понимается чтение или запись блока файловой системы (файловая система состоит из блоков фиксированной длины, например, по 4 килобайта, а большие файлы состоят из множества блоков).

Еще один важный показатель – latency (задержка, время выполнения одной операции, измеряется в милли- или даже микросекундах).

На VPS и выделенных серверах есть возможность эти показатели оценить. Иногда похожие конфигурации (например, 1 ядро 2 ГГц, 2 ГБ оперативной памяти) выдают значения IOPS, отличающиеся на порядок.

Вот так выглядят стабильные IOPS:

А это нестабильные:

А вот лимитированные (смотрите на размерность):

Насколько это существенно для работы сайтов и веб-приложений? Ответ не совсем очевиден.

Современные сайты – это системы с многослойным кешем (кеши ОС, СУБД, интерпретатора языка программирования, кеш уровня приложения). Если поверхностно посмотреть дисковую активность при работе какой-нибудь популярной CMS, то чтения там может не оказаться вовсе. Всё, что нужно для генерации страницы, уже лежит в оперативной памяти. Это нормально, и вроде бы IOPS и latency не так важны.

Но вот некоторые случаи, когда дисковую активность можно наблюдать:

  • отдельный сервис или весь сервер после перезагрузки, когда кеш не «прогрет»;
  • большой объем базы данных, когда не всё помешается в буферы и кеш;
  • много статики, которая вся не помещается в RAM;
  • сайты с авторизацией пользователей и персонифицированными страницами, когда эффективность кеша невысока;
  • страницы с тяжелыми SQL-запросами, охватывающими большие наборы данных;
  • создание резервных копий;
  • нехватка оперативной памяти, быстрое вымывание кеша.

Если не хочется то там, то тут сталкиваться с «тормозами», которые исчезают после перезагрузки страницы, и которые поэтому сложно отлавливать, то лучше контролировать показатели IOPS.

Посмотреть, насколько интенсивно ваш сайт работает с диском, можно программой iotop. Установка на Debian:

apt-get update
apt-get install iotop

Вызывать ее можно так iotop -o -d 2 (показывать только процессы, использующие диск, и обновлять данные каждые две секунды).

Вот пример сайта, где всё лежит в кеше:

Особое внимание стоит обратить на колонку IO – это доля времени исполнения процесса, затраченная на дисковые операции. В показанном случае с диска ничего не читается, а только немного пишется в базу данных CMS (возможно, обновляется информация о сессиях, и что-то логируется).

А вот так выглядит тяжелая страница:

Скрипт выполнялся несколько секунд, при этом почти 40% времени заняло чтение с диска. Причем это SSD. На медленном диске или с серьезным ограничением на скорость чтения вполне могла быть и 504 ошибка.

Арендуя недорогие VPS, имеет смысл проверять диск.

Быстро протестировать сервер можно с помощью шелл-скрипта nench. Сравнить показатели с аналогичными серверами у других провайдеров можно в разделе «Тесты скорости VPS».

Смотрите также

Комментарии

Отправить комментарий

Если вы укажете номера тикетов или имя пользователя, отзыв будет выглядеть убедительнее, а провайдеру будет проще разобраться с вашей проблемой

Подробнее о форматировании

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 7 13 + 8 плюс 3 3