Назад | Перейти на главную страницу

EBS, EC2 VolumeReadBytes против VolumeReadOps

Я запускаю экземпляр EC2 m4.xlarge с объемом холодного жесткого диска EBS объемом 500 ГБ, который используется в качестве кеша для службы изменения размера изображения, которую я использую (thumbor за обратным прокси-сервером nginx).

Время от времени кажется, что сервис изображений перегружен, и я не могу понять, где находится горлышко бутылки. Загрузка процессора и памяти кажутся нормальными, в то время как кажется, что трафика не так много. Одна вещь, которая, кажется, коррелирует с проблемой, заключается в том, что почти каждый день в определенное время происходит падение VolumeReadBytes и скачок VolumeReadOps примерно на полчаса. У меня нет запущенных заданий cron, сервер предназначен только для обслуживания изображений с измененным размером. Не знаю, что это могло быть. Может в этом проблема?

Любой совет будет очень признателен.

EBS имеет квоты на IOPS и пропускную способность. Что-то увеличивает количество операций ввода-вывода в секунду, вопрос в том, что.

Есть пара инструментов, которые могут это выяснить. iotop --time --batch является одним. iosnoop из скриптов perf-tools Брендана Грегга - еще один, если вы хотите внедрение ftrace.

Можно даже настроить auditd для записи всех системных вызовов чтения. Но запись в файл overhad, вероятно, будет использовать большую часть вашей квоты IOPS ...

Каким бы решительным ни был ваш вызов, вам нужно будет либо остановить эту задачу, либо использовать более быстрое хранилище, либо терпеть низкую производительность в течение этих получаса.