Високе навантаження через очікування вводу / виводу в Ubuntu 12.04 на екземплярі EC2


9

Я використовую сервер Ubuntu 12.04, маючи проблеми з пошуку причини навантаження, я помітив зміни у часі відгуку сервера за минулий тиждень

після прочитання усунення несправностей у Linux, частина I: Висока навантаження

Здається, що з процесором та оперативною пам’яттю проблем немає, і це навантаження може бути пов’язане з навантаженням, пов'язаним з входом /top виводом, за допомогою команди I отримав наступний вихід

Завантаження та використання пам'яті

Ось 97.6%wa, оперативна пам'ять є вільною і не використовується своп.

Далі виводиться команда, iostatяка сіє, що є89% iowait

ubuntu@ip-my-sys-ubuntu:~$ iostat
Linux 3.2.0-58-virtual (ip-172-31-6-203)    02/19/2015  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.05    0.01    3.64   89.50    3.76    0.03

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvdap1           69.91         3.81       964.37     978925  247942876

Я також використовував, iotopякий після інтервалу виправлення показує 99% вводу / виводу, диск пише, що я спостерігач як1266 KB/s

введіть тут опис зображення

і

введіть тут опис зображення

Чи погано? у міру зменшення часу відповіді. що це викликає?

РЕДАКТИ, які запитують інші

iftop O / P

                  12.5kb             25.0kb            37.5kb             50.0kb       62.5kb
└─────────────────┴──────────────────┴─────────────────┴──────────────────┴──────────────────
ip-12-1-1-111.ap-southeast-1.  => 115.231.218.130                      0b   2.04kb   522b
                                 <=                                      0b   1.53kb   393b
ip-112-1-1-111.ap-southeast-1.  => 62.snat-111-91-22.hns.net.in      1.52kb  1.52kb  1.72kb
                                 <=                                    208b    208b    262b
ip-112-1-1-111.ap-southeast-1.  => static-mum-120.63.141.177.mtnl.      0b    480b    240b
                                 <=                                      0b    350b    175b
ip-112-1-1-111.ap-southeast-1.  => ip-112-11-1-1.ap-southeast-1.co      0b    118b    178b
                                 <=                                      0b    210b    292b
ip-112-1-1-111.ap-southeast-1.  => static-mum-120.63.194.119.mtnl.      0b      0b    240b
                                 <=                                      0b      0b    175b

TX:             cum:    123kB   peak:   3.72kb               rates:   1.67kb  2.02kb  1.78kb
RX:                    51.5kB           4.88kb                        1.19kb   989b    918b
TOTAL:                  174kB           8.60kb                        2.86kb  2.98kb  2.68kb

вихід iostat -x -k 5 2

ubuntu@ip-111-11-1-111:~$ iostat -x -k 5 2
Linux 3.2.0-58-virtual (ip-111-11-1-111)        03/04/2015      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.75    0.01    4.74   22.72    4.06   64.71

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvdap1            0.00   263.80    0.42  109.42     7.28  1572.36    28.76     1.92   17.52   17.57   17.52   2.31  25.39

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.97    0.00    4.77   76.34    9.92    0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvdap1            0.00    35.69    0.00   85.88     0.00   438.93    10.22   137.55 1612.71    0.00 1612.71  11.11  95.42

@shodanshok пункт 2

введіть тут опис зображення

іотоп -а

введіть тут опис зображення


1
99% IOwait з читанням і записом диска 0 не виглядає добре. Тут serverfault.com/questions/426181/… зазначається, що введення-виведення може бути пов'язане не тільки з дисковою активністю, але і з мережею. Чи можете ви це перевірити, наприклад, iftop (та інші інструменти)?
Андрій Сапегін

@AndreySapegin додав iftop
Straw Hat

Я думаю, що проблема була з диском, на якому розгорнуто екземпляр AWS .. Я створив AMI поточного екземпляра і запустив новий екземпляр, використовуючи це .. Тепер немає зайвого навантаження на введення / виведення
солом'яний капелюх

@StrawHat це означає, що ти думаєш, що з першим примірником було щось не так?
sbrattla

@sbrattla Ні, я не думаю. через кілька днів виникла така ж проблема
солом’яний капелюх

Відповіді:


2

Налаштуйте свою службу mysql, щоб уникнути дотику до диска та спостереження у черзі поштового рефіксу, у вас може бути багато електронних листів у черзі, що входить до вводу / виводу (тобто відкладені, невеликі відсіки з випадковою поведінкою читання).

Ваша електронна пошта була використана як ретрансляція для спамерів.

Погляньте на документацію постфіксу та обмежте ретрансляційний доступ до вашої MTA.


переміщення mysql до екземпляра RDS буде працювати?
Солом’яний капелюх

1
Начебто, головна проблема полягає в тому, що велика кількість шрифтів у черзі постфікса, що харчується вашими iops, ви можете бачити за допомогою qshape deferredкоманди.
fgbreel

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_maps=proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_mailbox_limit_maps.cf
Солом’яний капелюх

postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1отримали ці помилкиqshape deferred
солом’яний капелюх

1
Я думаю, що ваш поштовий індекс може бути неправильно налаштований, але для вашої проблеми на даний момент, подивіться, скільки електронних листів у вас є /var/lib/postfix/deferred. Перенесіть їх у holdчергу для подальшого розслідування чи очищення.
fgbreel

1

Відредагований після додаткової інформації, зібраної за допомогою iostat та iotop.
Ваш диск завантажений на 100%, оскільки у нього закінчується доступний IOPS: за іостатом у вас є постійний 50 IOPS (85 w / s - 35 об'єднаних w / s). Екземпляри EC2, особливо дешеві, мають сильну обмеження на стійкий IOPS (в межах 30-50 IOPS).

Відповідно до нового випуску iotop, і mysql, і відмов їдять значну кількість IOPS. Однак висновок iotop здається не повним або принаймні погано відсортованим. Чи можете ви повторно запустити "iotop -a" сортування один раз за IOPS, а інший раз для запису на диску?

Оригінальна відповідь
Моя ставка: процес "відмов" видає багато синхронізованих записів, що заглушують віртуальний дисковий пристрій, пропонований Amazon (до речі, який профіль ви використовуєте? Диски EC2 мають досить суворі правила щодо стійкого проти сплеску вводу-виводу).

У будь-якому разі визначити, що спалює пропускну здатність вводу / виводу, часом може бути дещо складно. Хоча iotop є дуже хорошим інструментом, але він не дає вам необхідної інформації. Нам потрібно заглибитись. Отже, дотримуйтесь цих порад:

  1. По-перше, ми повинні визначити тип вводу / виводу, який обробляється, і блоковий пристрій, що впливає.
    Будь ласка , виконайте наступну команду: iostat -x -k 5 2. Повідомте про обидва набори результатів.
  2. Потім нам потрібно визначити процеси, які чекають вводу / виводу .
    Коли ви можете використовувати для цього "верхній": запустіть його, натисніть shift + f (F), потім w, потім введіть, потім shift + r (R). Першими процесами буде той, що знаходиться в стані D або D + (тобто: очікування диска / мережі). Повідомте про список.
  3. Використовуйте iotop, щоб показати накопичені значення вводу / виводу для процесів .
    Бігайте iotop -aблизько хвилини і вставте сюди вихід.

iostat -x -k 5 2, а також додано питання
солом'яний капелюх

1

Трохи пізно, але у мене була така ж проблема на подібній машині і з'ясувалося, що проблема була купою пошкоджених таблиць MySQL. Оскільки в деяких із цих таблиць було багато даних, вона дала багато часу очікування вводу / виводу.

Перегляньте /var/log/mysql/error.logабо використовуйте mysqlcheckдля пошуку та відновлення пошкоджених даних.


0

Як було сказано вище, цілком ймовірно, що ваш екземпляр EC2 поставляється з обмеженням вводу-виводу або, можливо, він підтримується на томі Amazon EBS Standard, який просто не дає великої вартості IO. Подивіться, що ця сторінка - вона описує різні типи обсягу, які пропонує Amazon.

Навіть якщо у вас є повільний рівень гучності, ви все одно можете вміти писати досить швидко на нього, але якщо ваше завантаження за своєю природою є випадковим, як здається, це може бути (SQL речі), ви, можливо, захочете оновити IOPS ємність, оскільки це зазвичай ставить верхню межу продуктивності SQL.

Отже - з ваших номерів, здається, у вас може закінчитися IOPS, використовуючи стандартне сховище. Придбати швидше сховище не так вже й дорого. Погляньте на це .


-3

Диск, можливо, знаходиться в режимі без DMA. Перевірте стан DMA накопичувача. (команда hdparm)

Якщо це не так, щось інше може призвести до безлічі перерв. Хтось пам’ятає тих із старої доброї епохи DOS?


EC2 - платформа для віртуалізації та використовує віртуальні диски. DMA тут не винуватця. У всякому разі, шторм IRQ створює плату на процесорі, а не на диску.
shodanshok

Так і IRQ означає переривання.
Перемогти

Я б сказав, що EC2 максимально віддалений від такої проблеми. Введення / виведення обмежене типом екземпляра - і врешті-решт деяким дійсно дорогим рішенням SAN, яке має велику ємність.
MrMajestyk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.