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

Загрузите среднюю странность в Linux Ubuntu

В последние несколько дней я пытался понять странности, которые происходят в нашей инфраструктуре, но я не мог понять это, поэтому я обращаюсь к вам, ребята, чтобы дать мне несколько советов.

Я заметил в Graphite всплески load_avg, которые происходят со смертельной регулярностью примерно каждые 2 часа - это не совсем 2 часа, но очень регулярно. Прилагаю скриншот, который я взял из Graphite

Я застрял в расследовании - регулярность этого заставляла меня думать, что это какое-то задание 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
$

Как видите, ЧАСОВЫХ cronjobs нет. Только ежедневно / еженедельно и т. Д.

Я собрал кучу статистики (vmstat, mpstat, iostat) - как бы я ни старался, я просто не вижу никаких выводов, которые предполагали бы некорректное поведение любого компонента виртуальной машины ... Я начинаю склоняться к потенциальным проблемам с гипервизором. Не стесняйтесь взглянуть на статистика Суть начинается с вывода sar -q примерно в "оскорбительное" время, а затем вы можете увидеть vm, mp и iostats ....

В принципе, для меня это до сих пор полная загадка ...

Интересный.

Во-первых, можете ли вы увеличить частоту регистрации sar. Вместо 10 минут попробуйте вести журнал каждую минуту. Задание sysstat cron можно настроить.

Затем попробуйте написать следующие команды.

ps auxf > /tmp/ps.out
vmstat 1 50 > /tmp/vm.out
mpstat -P ALL 1 50 > /tmp/mp.out
iostat -xdk 1 50 > /tmp/io.out
cat /proc/meminfo > /tmp/meminfo.out

Собирайте этот набор данных либо на каждой итерации, когда средняя нагрузка увеличивается вручную, либо через cron. Было бы хорошо иметь данные хотя бы за один полный рабочий день.

Теперь я понимаю, что серверы простаивают, но некоторые приложения все еще должны работать. Кто они такие?

Возможно ли, что вы сможете запустить какой-нибудь инструмент профилирования, например perf или oprofile.

Изменилось ли какое-либо оборудование сервера? Даже такое безобидное, как обновление прошивки или программного обеспечения.

Эй, один вопрос. Какой у вас планировщик? Я считаю, что это cfq, вы можете изменить его на noop. Ставить elevator=noop в параметре командной строки ядра и перезагрузите систему и посмотрите, улучшится ли она.

Журнал основных процессов

Так как это происходит очень регулярно, настройте задание cron для мониторинга основных процессов в течение этого периода.

#app01
20-59 0/2 * * * root /usr/bin/top -b -n 1 | /usr/bin/head -n 15 >> /var/log/top.log

+ Изменить 20-59 к * будет регистрировать целый час для каждого четного числа часов. В любом случае задание Cron будет выполняться один раз в минуту.

Вы можете добавить файл top.log для ротации журналов, чтобы он не занимал все пространство, если вы забудете его отключить.

Проверить файл журнала

Поиск записей в файле журнала при высокой загрузке

В качестве примера возьмем следующую запись нагрузки

10:25:01 PM         0       125      4.10      3.59      2.23         0

Делать

grep ' 22:2' /var/log/*
grep ' 22:2' /var/log/apache2/*

Это покажет все записи журнала для 22:2x:xx. Возможно, придется включить другие каталоги журналов.

Вс, 6 января, 21:00:07 2013: xvda w_await spike

График xvda - всплеск w_await приходится на вс, 6 января, 21:00:07 2013 г.

Одна вещь, которую я обязательно проверю:

  • Графики vSphere для того же шаблона, возможно, другая виртуальная машина на том же хосте потребляет центральные процессоры (таким образом, нагрузка на вашу виртуальную машину увеличивается, так как требуется больше времени для обработки того же объема данных с постоянным потоком из-за меньшего времени ЦП, доступного для ваша ВМ).

Изменить: не получил его в первый раз :) Вы работаете в Rackspace, поэтому нет контроля над гипервизором, но, возможно, стоит спросить rackspace, могут ли они проверить, распространен ли этот шаблон на других виртуальных машинах на том же хосте .