Високе навантаження через очікування вводу / виводу в 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.