На Веб-сервисы Amazon Я использую t2.small
EC2 как VPS, обслуживающий несколько веб-сайтов в стеке LAMP (PHP). Я только что получил счет, который почти утроил мой обычный счет. Я вижу что мой Использование запросов ввода-вывода было чрезвычайно высоким. Я зашел на сервер и заметил, что диск заполнен. Я удалил кучу некритических файлов и журналов, и теперь диск (EBS) заполнен менее 60%, но я хотел бы проверить две вещи.
У меня не было специфичного для AWS CloudWatch служба мониторинга включена, поэтому я, вероятно, не получу ответа на №1, но любые советы будут признательны.
Что касается №2, я использовал два метода, упомянутых в это сообщение в блоге чтобы определить мою скорость ввода-вывода, и кажется, что она очень и очень высока. Вот некоторая статистика с сервера:
$ iostat
Linux 3.13.0-45-generic (dysphoria) 2015-10-08 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.74 0.01 0.69 16.83 0.43 79.30
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 170.08 10039.29 32.52 843300857 2731428
xvdf 0.01 0.02 0.00 1308 0
$ cat /proc/diskstats
1 0 ram0 0 0 0 0 0 0 0 0 0 0 0
1 1 ram1 0 0 0 0 0 0 0 0 0 0 0
1 2 ram2 0 0 0 0 0 0 0 0 0 0 0
1 3 ram3 0 0 0 0 0 0 0 0 0 0 0
1 4 ram4 0 0 0 0 0 0 0 0 0 0 0
1 5 ram5 0 0 0 0 0 0 0 0 0 0 0
1 6 ram6 0 0 0 0 0 0 0 0 0 0 0
1 7 ram7 0 0 0 0 0 0 0 0 0 0 0
1 8 ram8 0 0 0 0 0 0 0 0 0 0 0
1 9 ram9 0 0 0 0 0 0 0 0 0 0 0
1 10 ram10 0 0 0 0 0 0 0 0 0 0 0
1 11 ram11 0 0 0 0 0 0 0 0 0 0 0
1 12 ram12 0 0 0 0 0 0 0 0 0 0 0
1 13 ram13 0 0 0 0 0 0 0 0 0 0 0
1 14 ram14 0 0 0 0 0 0 0 0 0 0 0
1 15 ram15 0 0 0 0 0 0 0 0 0 0 0
7 0 loop0 0 0 0 0 0 0 0 0 0 0 0
7 1 loop1 0 0 0 0 0 0 0 0 0 0 0
7 2 loop2 0 0 0 0 0 0 0 0 0 0 0
7 3 loop3 0 0 0 0 0 0 0 0 0 0 0
7 4 loop4 0 0 0 0 0 0 0 0 0 0 0
7 5 loop5 0 0 0 0 0 0 0 0 0 0 0
7 6 loop6 0 0 0 0 0 0 0 0 0 0 0
7 7 loop7 0 0 0 0 0 0 0 0 0 0 0
202 0 xvda 14198708 1225 1686588426 26715600 87579 51756 5461696 11290600 0 16654328 38003076
202 1 xvda1 14198527 1203 1686586802 26715376 87579 51756 5461696 11290600 0 16654236 38002848
202 80 xvdf 447 6 2616 288 0 0 0 0 0 288 288
$ free -m
total used free shared buffers cached
Mem: 2000 1910 89 6 6 1216
-/+ buffers/cache: 688 1312
Swap: 0 0 0
Хотя приведенная выше информация была получена вскоре после загрузки, iostat
Отчет показывает начальное TPS в диапазоне 50-80 даже после того, как система проработала несколько часов. Сервер обслуживает около 20 сайтов, только три из которых получают больше нескольких посещений в день. Их составляет порядка нескольких сотен посетителей в день. Сервер и сайты оставались в этой конфигурации в течение многих лет без проблем. Только недавно количество операций ввода-вывода начало расти, без соответствующих изменений в коде, конфигурации сервера или загрузке веб-сайта.
Обратите внимание, что этот вопрос изначально задавался официальный форум Amazon Web Services однако, похоже, никто не смог там помочь. Возможно, вопрос слишком общий для этого форума.
На странице руководства iostat есть важная информация, непонимание которой может привести к неправильному пониманию представленных данных.
Первый отчет, созданный командой iostat, содержит статистику времени, прошедшего с момента загрузки системы. Каждый последующий отчет охватывает время, прошедшее с момента предыдущего отчета. Вся статистика отображается при каждом запуске команды iostat.
Итак, ваш простой iostat, приведенный выше, сообщает значения, собранные с момента запуска системы.
Более нормально запускать iostst с интервалом и отбрасывать первый набор статистики, например.
iostat 5
это будет сообщать соответствующую статистику каждые 5 секунд.
Собрав правильные данные, вы сможете лучше понять ситуацию.
Взгляните на наверху команда. В частности, запустив его с привилегиями и выбрав d
включит статистику io диска для каждого потока.