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

Нет подсказки о высокой средней нагрузке сверху

У нас есть несколько машин на Amazon (ec2) типа c1.xlarge с 16 процессорами, на которых работает Amazon AMI.

Подробности о машине:
7 ГБ памяти
20 вычислительных блоков EC2 (8 виртуальных ядер по 2,5 вычислительных блока EC2 в каждом)
1690 ГБ хранилища инстанса
64-битная платформа
Производительность ввода / вывода: высокая
Имя API: c1.xlarge

Одна из нескольких машин показывает высокую среднюю нагрузку, поскольку мы запускали последнее обновление yum пару недель подряд. Остальные машины мы еще не обновляли, и на них все выглядит нормально.

Странно то, что команда top не показывает никаких подсказок о причине загрузки. Процессоры 4.8%us, 1.1%sy, 0.0%ni, 94.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st(увидеть ниже). Mem составляет около 1,5 ГБ бесплатно.

Есть идеи, что это может быть, или где еще мы можем проверить? Большое спасибо за помощь.

#
# top
#
top - 07:57:42 up  4:18,  1 user,  load average: 1.36, 1.45, 1.47
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.8%us,  1.1%sy,  0.0%ni, 94.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7120092k total,  5644920k used,  1475172k free,   532888k buffers
Swap:        0k total,        0k used,        0k free,  3463936k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1557 mysql     20   0 1829m 374m 6448 S 14.3  5.4  11:15.09 mysqld
 6655 apache    20   0  416m  49m 3744 S  9.3  0.7   0:04.85 httpd
27683 apache    20   0  421m  54m 3708 S  9.0  0.8   0:00.99 httpd
 6682 apache    20   0  424m  57m 3788 S  8.3  0.8   0:03.81 httpd
16816 apache    20   0  419m  51m 3760 S  4.3  0.7   0:04.09 httpd
22182 apache    20   0  417m  50m 3756 S  1.7  0.7   0:06.34 httpd
  219 root      20   0     0    0    0 S  0.3  0.0   0:00.34 kworker/7:1
  699 root      20   0     0    0    0 S  0.3  0.0   0:00.40 kworker/3:1
    1 root      20   0 19376 1508 1212 S  0.0  0.0   0:00.29 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

3 корень 20 0 0 0 0 S 0,0 0,0 0: 00,71 ksoftirqd / 0

Команда "iostat" на соответствующем компьютере:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.97    0.03    4.46    0.19    0.14   86.23

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            1.60         0.69        55.38     587620   47254184
xvdfp2            2.64         1.10        61.04     934786   52091056
xvdfp4            0.86         0.19        41.72     163866   35601920
xvdfp1            4.37        36.59        73.89   31220810   63051504
xvdfp3            8.03         7.08        94.63    6045402   80749184

Команда "iostat" на проблемной машине:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.29    0.04    5.55    0.26    0.11   84.74

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            2.13         3.34        68.85     246244    5077888
xvdfp1            7.60        74.31       104.88    5480362    7734840
xvdfp3           13.22        73.67       125.00    5433386    9218600
xvdfp4            1.11         0.76        65.08      55762    4799248
xvdfp2            4.16         3.31        99.17     243818    7313264

Кто-нибудь знает, что мне нужно делать?

Спасибо

С 8 виртуальными ядрами средняя загрузка 1,4 не является высокой, и вам не о чем беспокоиться (вы в безопасности до тех пор, пока средняя нагрузка не составит 8). Но если судить только по этому максимальному результату, информации, которая поможет вам в дальнейшем, недостаточно. А учитывая, что машина проработала всего 4 часа - MySQL, вероятно, все еще находится в процессе загрузки всех своих кешей.

Вероятно, это ввод-вывод, а Amazon не предоставляет нужную информацию для iowait быть точным (довольно типично для VPS).

  1. Бегать iostat и опубликуйте результаты.
  2. Начните строить график с Munin и отчитаться с некоторыми статистическими данными, когда машина проработает несколько дней.

Высокая средняя нагрузка может быть вызвана проблемами ввода-вывода.

Попробуйте бежать iostat -x 10 10

И соблюдать Ждите и % util числа с течением времени.

  • await - среднее время, затрачиваемое на выполнение каждого запроса ввода-вывода. Это включает в себя время, в течение которого запрос ожидал в очереди, и время, которое потребовалось для обслуживания запроса устройством.

  • % util: это число показывает процент времени, которое устройство потратило на обслуживание запросов.