Який прогрес у покращенні продуктивності / чутливості системи під час введення / виводу високого диска?


9

Щоразу, коли вхід / вивід з високим диском є ​​високим, система, як правило, набагато повільніше і менш чуйна, ніж зазвичай. Який прогрес у роботі ядра Linux щодо цього? Чи над цією проблемою активно працює?


Я клянусь, що це з'явилося раніше ... хм ...
ксенотерракід

1
можливий дублікат @tshepang, він обов'язково містить відповіді на ваше запитання.
ксенотеррацид

@tshepang також це питання
ксенотерракід

@tshepang. Я відповів на це, використовуючи частини того, що було сказано в інших. Я погоджуюсь, що це достатньо різне, щоб залишатися власним питанням, але вони, безумовно, пов'язані між собою. Насправді я думаю, що якщо поглянути на справжню причину, що стоїть за обома іншими питаннями, ви побачите, що всі ви стикаєтеся з тими ж помилками, ви просто задали питання по-іншому.
ксенотеррацид

1
@tshepang, якщо ви відстежили останні 10 випусків ядра, ви знайшли кілька патчів, пов’язаних з проблемами вводу-виводу, від проблем з продуктивністю в ext3, ext4, CFQ і, напевно, в кількох інших місцях, включаючи цей останній раунд виправлень. Шкода, що зараз не можу знайти всі інші посилання.
ксенотеррацид

Відповіді:


11

Я думаю, здебільшого це було вирішено. Моя продуктивність під великим IO покращилася в 2.6.36, і я очікую, що вона покращиться в 2.6.37. Дивіться ці статті про форонікси .

Ву Фенгуанг та KOSAKI Motohiro на цьому тижні опублікували виправлення, за якими вони вважають, що вони вирішать деякі з цих питань, пов'язаних із чутливістю, і, як вони вважають, "система не відповідає на тиск пам'яті та багато брудних сторінок / записів на запитання". Andreas Mohr, один з користувачів, який повідомив про цю проблему в LKML і перевірив два патчі, застосовані проти vmscan ядра, повідомив про успіх. Проблема Андреаса полягала в тому, що система стала повністю невідповідною (і перехід на VT зайняв 20+ секунд) під час створення файлової системи EXT4, коли твердотільний накопичувач був підключений через USB 1.1. У його системі під час запису 300M з файлу / dev / zero проблема була ще гіршою.

Ось пряме посилання на помилку

Також від Phoronix

На щастя, завдяки нашому тестуванню та звітам інших користувачів Linux, які прагнуть виправити цю проблему, порівняно невеликі виправлення vmscan, які були опубліковані, здаються краще вирішити цю проблему. Користувацький інтерфейс (GNOME в нашому випадку) все ще не є на 100% текучим, якщо система підтримує переважну кількість дискової активності, але це, безумовно, набагато краще, ніж раніше, і що навіть зараз знайдено з ядром Linux 2.6.35.

Також є оголошення про випуск Phoronix 2.6.36

Здається, блокові бар'єри відходять, і це також повинно сприяти їх продуктивності.

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

Там же є ця стаття LWN про справедливе планування вводу / виводу

Я б сказав, що IO прокинувся як велика справа про час виходу ext4 в 2.6.28. Наступні посилання - на версії Linux Kernel Newbies Kernel, ви повинні переглянути розділи «Блок» та «Файлові системи». Це, звичайно, може бути несправедливим настроєм, або якраз тоді, коли я почав спостерігати за розвитком ФС, я впевнений, що все це покращується, але я відчуваю, що деякі проблеми ext4 "змусили людей важко дивитися на стек IO, або можливо, вони очікували, що ext4 вирішить усі проблеми з продуктивністю, і тоді, коли цього не сталося, вони зрозуміли, що їм доведеться шукати в іншому місці проблеми.

2.6.28 , 2.6.29 , 2.6.30 , 2.6.31 , 2.6.32 , 2.6.33 , 2.6.34 , 2.6.35 , 2.6.36 , 2.6.37

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