Я запускаю экземпляр EC2 m4.xlarge с томом Cold HDD EBS объемом 500 ГБ, который используется в качестве кэша для сервиса изменения размера изображений, который я запускаю (thumbor за обратным прокси-сервером nginx).
Время от времени служба изображений, кажется, перегружена, и я не могу понять, где узкое место. Загрузка ЦП и памяти кажутся нормальными, в это время трафика, похоже, не так уж много. Одна вещь, которая, кажется, коррелирует с проблемой, заключается в том, что почти каждый день в определенное время происходит падение VolumeReadBytes и скачок VolumeReadOps примерно на полчаса. У меня не запущено никаких заданий cron, сервер предназначен только для обслуживания изображений измененного размера. Я не знаю, в чем может быть проблема. Может ли это быть проблемой?
Будем очень признательны за любые советы.
решение1
У EBS есть квоты на IOPS и пропускную способность. Что-то максимизирует IOPS, вопрос в чем.
Есть пара инструментов, которые могут это выяснить. iotop --time --batch
Один из них. iosnoop из скриптов Perf-Tools Брендана Грегга — это еще один, если вам нужна реализация ftrace.
Можно даже настроить auditd для записи всех системных вызовов чтения. Но ведение журнала в файл overhad, вероятно, израсходует большую часть вашей квоты IOPS...
Как бы вы ни были настроены, вам придется принять решение либо остановить выполнение задачи, либо использовать более быстрое хранилище, либо смириться с низкой производительностью в течение этих полчаса.