В последние несколько дней я пытался понять странность, которая происходит в нашей инфраструктуре, но я так и не смог понять это, поэтому обращаюсь к вам, ребята, за советом.
Я заметил в Graphite, скачки в load_avg, которые происходят со смертельной регулярностью примерно каждые 2 часа - это не совсем 2 часа, но это очень регулярно. Я прилагаю скриншот этого я взял из графита
Я застрял в расследовании этого - регулярность этого привела меня к мысли, что это какая-то работа cron или что-то в этом роде, но на этих серверах НЕТ никаких cronjobs - на самом деле это виртуальные машины, работающие в облаке Rackspace. То, что я ищу, - это какое-то указание на то, что может быть причиной этих проблем, и как расследовать это дальше.
Серверы довольно простаивают - это промежуточная среда, поэтому трафик почти не поступает / на них не должно быть нагрузки. Это все 4 виртуальных ядра виртуальных машин. Что я точно знаю, так это то, что мы собираем несколько образцов графита каждые 10 секунд, но если это является причиной нагрузки, то я ожидаю, что она будет постоянно высокой, а не каждые 2 часа волнами на разных серверах.
Любая помощь, как исследовать это, будет принята с благодарностью!
Вот некоторые данные от sar для app01 - это первый синий всплеск на картинке выше - я не смог сделать ЛЮБЫЕ выводы из данных. Также не то, что всплеск записи байтов происходит каждые полчаса (НЕ КАЖДЫЕ 2 ЧАСА) из-за того, что клиент-шеф работает каждые 30 минут. Я попытаюсь собрать больше данных, хотя я уже сделал это, но на самом деле не мог сделать какие-либо выводы из них.
НАГРУЗКИ
09:55:01 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
10:05:01 PM 0 125 1.28 1.26 0.86 0
10:15:01 PM 0 125 0.71 1.08 0.98 0
10:25:01 PM 0 125 4.10 3.59 2.23 0
10:35:01 PM 0 125 0.43 0.94 1.46 3
10:45:01 PM 0 125 0.25 0.45 0.96 0
10:55:01 PM 0 125 0.15 0.27 0.63 0
11:05:01 PM 0 125 0.48 0.33 0.47 0
11:15:01 PM 0 125 0.07 0.28 0.40 0
11:25:01 PM 0 125 0.46 0.32 0.34 0
11:35:01 PM 2 130 0.38 0.47 0.42 0
11:45:01 PM 2 131 0.29 0.40 0.38 0
11:55:01 PM 2 131 0.47 0.53 0.46 0
11:59:01 PM 2 131 0.66 0.70 0.55 0
12:00:01 AM 2 131 0.81 0.74 0.57 0
ЦПУ
09:55:01 PM CPU %user %nice %system %iowait %steal %idle
10:05:01 PM all 5.68 0.00 3.07 0.04 0.11 91.10
10:15:01 PM all 5.01 0.00 1.70 0.01 0.07 93.21
10:25:01 PM all 5.06 0.00 1.74 0.02 0.08 93.11
10:35:01 PM all 5.74 0.00 2.95 0.06 0.13 91.12
10:45:01 PM all 5.05 0.00 1.76 0.02 0.06 93.10
10:55:01 PM all 5.02 0.00 1.73 0.02 0.09 93.13
11:05:01 PM all 5.52 0.00 2.74 0.05 0.08 91.61
11:15:01 PM all 4.98 0.00 1.76 0.01 0.08 93.17
11:25:01 PM all 4.99 0.00 1.75 0.01 0.06 93.19
11:35:01 PM all 5.45 0.00 2.70 0.04 0.05 91.76
11:45:01 PM all 5.00 0.00 1.71 0.01 0.05 93.23
11:55:01 PM all 5.02 0.00 1.72 0.01 0.06 93.19
11:59:01 PM all 5.03 0.00 1.74 0.01 0.06 93.16
12:00:01 AM all 4.91 0.00 1.68 0.01 0.08 93.33
IO
09:55:01 PM tps rtps wtps bread/s bwrtn/s
10:05:01 PM 8.88 0.15 8.72 1.21 422.38
10:15:01 PM 1.49 0.00 1.49 0.00 28.48
10:25:01 PM 1.54 0.00 1.54 0.03 29.61
10:35:01 PM 8.35 0.04 8.31 0.32 411.71
10:45:01 PM 1.58 0.00 1.58 0.00 30.04
10:55:01 PM 1.52 0.00 1.52 0.00 28.36
11:05:01 PM 8.32 0.01 8.31 0.08 410.30
11:15:01 PM 1.54 0.01 1.52 0.43 29.07
11:25:01 PM 1.47 0.00 1.47 0.00 28.39
11:35:01 PM 8.28 0.00 8.28 0.00 410.97
11:45:01 PM 1.49 0.00 1.49 0.00 28.35
11:55:01 PM 1.46 0.00 1.46 0.00 27.93
11:59:01 PM 1.35 0.00 1.35 0.00 26.83
12:00:01 AM 1.60 0.00 1.60 0.00 29.87
СЕТЬ:
10:25:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
10:35:01 PM lo 8.36 8.36 2.18 2.18 0.00 0.00 0.00
10:35:01 PM eth1 7.07 4.77 5.24 2.42 0.00 0.00 0.00
10:35:01 PM eth0 2.30 1.99 0.24 0.51 0.00 0.00 0.00
10:45:01 PM lo 8.35 8.35 2.18 2.18 0.00 0.00 0.00
10:45:01 PM eth1 3.69 3.45 0.65 2.22 0.00 0.00 0.00
10:45:01 PM eth0 1.50 1.33 0.15 0.36 0.00 0.00 0.00
10:55:01 PM lo 8.36 8.36 2.18 2.18 0.00 0.00 0.00
10:55:01 PM eth1 3.66 3.40 0.64 2.19 0.00 0.00 0.00
10:55:01 PM eth0 0.79 0.87 0.08 0.29 0.00 0.00 0.00
11:05:01 PM lo 8.36 8.36 2.18 2.18 0.00 0.00 0.00
11:05:01 PM eth1 7.29 4.73 5.25 2.41 0.00 0.00 0.00
11:05:01 PM eth0 0.82 0.89 0.09 0.29 0.00 0.00 0.00
11:15:01 PM lo 8.34 8.34 2.18 2.18 0.00 0.00 0.00
11:15:01 PM eth1 3.67 3.30 0.64 2.19 0.00 0.00 0.00
11:15:01 PM eth0 1.27 1.21 0.11 0.34 0.00 0.00 0.00
11:25:01 PM lo 8.32 8.32 2.18 2.18 0.00 0.00 0.00
11:25:01 PM eth1 3.43 3.35 0.63 2.20 0.00 0.00 0.00
11:25:01 PM eth0 1.13 1.09 0.10 0.32 0.00 0.00 0.00
11:35:01 PM lo 8.36 8.36 2.18 2.18 0.00 0.00 0.00
11:35:01 PM eth1 7.16 4.68 5.25 2.40 0.00 0.00 0.00
11:35:01 PM eth0 1.15 1.12 0.11 0.32 0.00 0.00 0.00
11:45:01 PM lo 8.37 8.37 2.18 2.18 0.00 0.00 0.00
11:45:01 PM eth1 3.71 3.51 0.65 2.20 0.00 0.00 0.00
11:45:01 PM eth0 0.75 0.86 0.08 0.29 0.00 0.00 0.00
11:55:01 PM lo 8.30 8.30 2.18 2.18 0.00 0.00 0.00
11:55:01 PM eth1 3.65 3.37 0.64 2.20 0.00 0.00 0.00
11:55:01 PM eth0 0.74 0.84 0.08 0.28 0.00 0.00 0.00
Для людей, интересующихся cronjobs. Вот сводка всех cronjobs, настроенных на сервере (я выбрал app01, но это происходит и на нескольких других серверах с такими же настройками cronjobs)
$ ls -ltr /etc/cron*
-rw-r--r-- 1 root root 722 Apr 2 2012 /etc/crontab
/etc/cron.monthly:
total 0
/etc/cron.hourly:
total 0
/etc/cron.weekly:
total 8
-rwxr-xr-x 1 root root 730 Dec 31 2011 apt-xapian-index
-rwxr-xr-x 1 root root 907 Mar 31 2012 man-db
/etc/cron.daily:
total 68
-rwxr-xr-x 1 root root 2417 Jul 1 2011 popularity-contest
-rwxr-xr-x 1 root root 606 Aug 17 2011 mlocate
-rwxr-xr-x 1 root root 372 Oct 4 2011 logrotate
-rwxr-xr-x 1 root root 469 Dec 16 2011 sysstat
-rwxr-xr-x 1 root root 314 Mar 30 2012 aptitude
-rwxr-xr-x 1 root root 502 Mar 31 2012 bsdmainutils
-rwxr-xr-x 1 root root 1365 Mar 31 2012 man-db
-rwxr-xr-x 1 root root 2947 Apr 2 2012 standard
-rwxr-xr-x 1 root root 249 Apr 9 2012 passwd
-rwxr-xr-x 1 root root 219 Apr 10 2012 apport
-rwxr-xr-x 1 root root 256 Apr 12 2012 dpkg
-rwxr-xr-x 1 root root 214 Apr 20 2012 update-notifier-common
-rwxr-xr-x 1 root root 15399 Apr 20 2012 apt
-rwxr-xr-x 1 root root 1154 Jun 5 2012 ntp
/etc/cron.d:
total 4
-rw-r--r-- 1 root root 395 Jan 6 18:27 sysstat
$ sudo ls -ltr /var/spool/cron/crontabs
total 0
$
Как вы можете видеть, ЧАСОВ нет. Только ежедневно / еженедельно и т. Д.
Я собрал кучу статистики (vmstat, mpstat, iostat) - как бы сильно я ни пытался, я просто не вижу никаких отведений, которые бы указывали на ненадлежащее поведение любого компонента VM ... Я начинаю склоняться к потенциальным проблемам в гипервизоре. Не стесняйтесь взглянуть на статистику . Суть начинается с вывода команды sar -q в «оскорбительное» время, а затем вы можете увидеть vm, mp и iostats ....
В принципе, для меня это все еще загадка ...
Ответы:
Интересно.
Во-первых, вы можете увеличить частоту ведения журнала sar. Вместо 10 минут, попробуйте войти каждую минуту. Cronjob sysstat настраивается.
Затем попробуйте написать следующие команды.
Собирайте этот набор данных либо на каждой итерации, когда средняя загрузка увеличивается вручную, либо через cron. Было бы хорошо иметь данные как минимум за один полный рабочий день.
Теперь я понимаю, что серверы простаивают, но все же некоторые приложения должны быть запущены. Кто они такие?
Возможно ли, что вы можете запустить какой-нибудь инструмент профилирования, такой как perf или oprofile.
Был ли изменен какой-либо компонент аппаратного обеспечения сервера? Даже что-то столь же безобидное, как обновление прошивки или обновление программного обеспечения.
Привет, один вопрос. Какой планировщик у вас работает. Я считаю, что это cfq, любой шанс, что вы можете изменить его на noop. Введите
elevator=noop
параметр командной строки ядра и перезагрузите систему и посмотрите, улучшит ли она ее.источник
Log Top Процессы
Так как вхождение происходит очень регулярно, настройте задачу cron для мониторинга топ-процессов в течение этого периода
Изменения
20-59
в*
зарегистрируют целый час на каждые даже часы числа. В любом случае задание Cron будет выполняться раз в минуту.Вы можете добавить файл top.log для ротации журналов, чтобы он не занимал все пространство, если вы забудете его отключить.
Проверьте файл журнала
Поиск записей в журнале при высокой загрузке
Возьмите следующую запись загрузки в качестве примера
Делать
Это покажет все записи журнала для
22:2x:xx
. Возможно, придется включить другие каталоги журналов.Вс 6 января 21:00:07 2013: xvda w_await spike
xvda Chart - Пик w_await на Солнце 6 января 21:00:07 2013
источник
Одно я бы обязательно проверил:
Редактировать: не получилось с первого раза :) Вы работаете в Rackspace, поэтому не можете управлять гипервизором, но стоит спросить у стойки, могут ли они проверить, распространен ли этот шаблон на других виртуальных машинах на том же хосте ,
источник