IOPS – название группы показателей производительности дисковой подсистемы, расшифровывается «Input/output Operations Per Second» – количество операций ввода/вывода в секунду. Под одной операцией понимается чтение или запись блока файловой системы (файловая система состоит из блоков фиксированной длины, например, по 4 килобайта, а большие файлы состоят из множества блоков).
Еще один важный показатель – latency (задержка, время выполнения одной операции, измеряется в милли- или даже микросекундах).
На VPS и выделенных серверах есть возможность эти показатели оценить. Иногда похожие конфигурации (например, 1 ядро 2 ГГц, 2 ГБ оперативной памяти) выдают значения IOPS, отличающиеся на порядок.
Вот так выглядят стабильные IOPS:
А это нестабильные:
А вот лимитированные (смотрите на размерность):
Насколько это существенно для работы сайтов и веб-приложений? Ответ не совсем очевиден.
Современные сайты – это системы с многослойным кешем (кеши ОС, СУБД, интерпретатора языка программирования, кеш уровня приложения). Если поверхностно посмотреть дисковую активность при работе какой-нибудь популярной CMS, то чтения там может не оказаться вовсе. Всё, что нужно для генерации страницы, уже лежит в оперативной памяти. Это нормально, и вроде бы IOPS и latency не так важны.
Но вот некоторые случаи, когда дисковую активность можно наблюдать:
Если не хочется то там, то тут сталкиваться с «тормозами», которые исчезают после перезагрузки страницы, и которые поэтому сложно отлавливать, то лучше контролировать показатели IOPS.
Посмотреть, насколько интенсивно ваш сайт работает с диском, можно программой iotop. Установка на Debian:
apt-get update
apt-get install iotop
Вызывать ее можно так iotop -o -d 2
(показывать только процессы, использующие диск, и обновлять данные каждые две секунды).
Вот пример сайта, где всё лежит в кеше:
Особое внимание стоит обратить на колонку IO – это доля времени исполнения процесса, затраченная на дисковые операции. В показанном случае с диска ничего не читается, а только немного пишется в базу данных CMS (возможно, обновляется информация о сессиях, и что-то логируется).
А вот так выглядит тяжелая страница:
Скрипт выполнялся несколько секунд, при этом почти 40% времени заняло чтение с диска. Причем это SSD. На медленном диске или с серьезным ограничением на скорость чтения вполне могла быть и 504 ошибка.
Арендуя недорогие VPS, имеет смысл проверять диск.
Быстро протестировать сервер можно с помощью шелл-скрипта nench. Сравнить показатели с аналогичными серверами у других провайдеров можно в разделе «Тесты скорости VPS».
Комментарии
Отправить комментарий