PowerScale OneFS: Усунення проблем із продуктивністю
Summary: Усуньте неполадки з низькою продуктивністю PowerScale OneFS за допомогою нашого вичерпного посібника з конфігурації мережі, обробки навантажень і моніторингу за допомогою InsightIQ для підвищення ефективності кластера. ...
Symptoms
Клієнтські комп'ютери працюють повільно. Певні завдання, особливо ті, що виконуються в кластері, або зазнають невдачі, або займають більше часу, ніж очікувалося.
Cause
Проблеми з продуктивністю зазвичай пов'язані з мережевим трафіком, проблемами конфігурації мережі, навантаженням на обробку клієнта або кластера або їх поєднанням. У цій статті описано кілька ефективних способів усунення проблем із продуктивністю.
Resolution
Усунення несправностей за допомогою InsightIQ
Зміст:
- Використання Isilon InsightIQ
- Усунення несправностей без InsightIQ
- Пропускна здатність мережі
- Розподіл клієнтських з'єднань
- Технологія SmartConnect
- Пропускна здатність кластера
- Кластерна обробка
- Операції в черзі
- ЦП
Використання Isilon InsightIQ
Використання Isilon InsightIQ є найкращим способом моніторингу продуктивності та усунення проблем із продуктивністю.
Віртуальний пристрій Isilon InsightIQ дозволяє відстежувати та аналізувати активність кластера Isilon за допомогою гнучких, настроюваних переглядів діаграм у веб-додатку InsightIQ. Ці діаграми надають детальну інформацію про апаратне та програмне забезпечення кластерів, а також операції файлової системи та протоколу. InsightIQ перетворює дані на візуальну інформацію, яка підкреслює будь-які відхилення в продуктивності, дозволяючи швидко діагностувати вузькі місця або оптимізувати робочі процеси.
Докладнішу інформацію про використання InsightIQ наведено в Посібнику користувача InsightIQ.
Усунення несправностей без InsightIQ
Якщо ви не використовуєте InsightIQ, ви можете виконувати різні команди для дослідження проблем із продуктивністю. Усувайте проблеми з продуктивністю спочатку шляхом вивчення пропускної здатності мережі та кластера, потім шляхом вивчення кластерної обробки і, нарешті, шляхом вивчення частоти процесора окремих вузлів.
Пропускна здатність мережі
Використовуйте інструмент мережевого тестування, наприклад Iperf для визначення пропускних можливостей кластера та клієнтських комп'ютерів у вашій мережі.
Використання Iperf, виконайте наведені нижче команди на кластері та клієнті. Ці команди визначають розмір вікна, який є достатньо великим, щоб виявити, чи є мережеве з'єднання потенційною причиною проблем із затримкою.
- Кластер:
iperf -s -w 262144
- Клієнт:
iperf -c <cluster IP> -w 262144
Розподіл клієнтських з'єднань
Перевірте, скільки клієнтів NFS і SMB підключено до кластера, щоб переконатися, що вони не віддають перевагу одному вузлу.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступну команду для перевірки клієнтів NFS:
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
Вихідні дані відображають кількість клієнтів, підключених до кожного вузла, і скільки з цих клієнтів активні на кожному вузлі. - Виконайте таку команду, щоб перевірити клієнтів SMB:
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
Вихідні дані відображають кількість клієнтів, підключених до кожного вузла, і скільки з цих клієнтів активні на кожному вузлі.
Технологія SmartConnect
Переконайтеся, що вузол, на якому працює SmartConnect, не обтяжений мережевим трафіком.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступну команду:
isi_for_array -sq 'ifconfig|grep em -A3'
На виході відображається список усіх IP-адрес, які прив'язані до зовнішнього інтерфейсу. - Перевірте наявність вузлів, які мають одну додаткову IP-адресу, ніж інші.
- Перевірте стан вузлів, які ви помітили на кроці 3, виконавши наступну команду:
isi status
Перевірте стовпець пропускної здатності вихідного сигналу, щоб визначити навантаження вузлів, помічених на кроці 3.
Пропускна здатність кластера
Оцінюйте пропускну здатність кластера, проводячи тести запису та читання, які вимірюють кількість часу, необхідного для читання з файлу та запису до нього. Проведіть принаймні один тест на запис і один тест на читання, як описано нижче.
Написати тест
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Перейдіть до каталогу /ifs :
cd /ifs
- З інтерфейсу командного рядка (CLI) на кластері або з клієнтського комп'ютера UNIX або Linux використовуйте команду
ddкоманда, щоб записати новий файл до кластера. Виконайте наступну команду:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Ця команда створює зразок файлу розміром 1 ГБ і повідомляє про час, витрачений на його запис на диск. - Виходячи з результатів цієї команди, екстраполюйте, скільки МБ в секунду можна записати на диск в однопотокових робочих процесах.
- Якщо у вас є MAC-клієнт і ви хочете провести подальший аналіз,
- Запустіть Монітор активності.
- Виконайте наступну команду, де
pathToFile— шлях до файлу цільового файлу:cat /dev/zero > /pathToFile
Ця команда допомагає виміряти пропускну здатність операцій запису на кластері Isilon. (Хоча можна запуститиddз MAC-клієнта, результати можуть бути суперечливими.) - Слідкуйте за результатами виконання команди на вкладці «Мережа » монітора активності.
Читати тест
Вимірюючи пропускну здатність операцій зчитування, переконайтеся, що ви не проводите тести читання файлу, який ви створили під час тесту запису. Оскільки цей файл було кешовано, результати ваших тестів на читання будуть неточними. Замість цього протестуйте операцію читання файлу, який не був кешований. Знайдіть файл у кластері, розмір якого перевищує 1 ГБ, і посилайтеся на цей файл у тесті читання.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- З командного рядка кластера або клієнтського комп'ютера UNIX або Linux використовуйте команду
ddдля читання файлу на кластері. Виконайте наступну команду, деpathToFile— шлях до файлу цільового файлу:dd if=/pathToLargeFile of=/dev/null bs=1024k
Ця команда читає цільовий файл і повідомляє про час, витрачений на його читання. - Якщо у вас є MAC-клієнт і ви хочете провести подальший аналіз,
- Запустіть Монітор активності.
- Виконайте наступну команду, де
pathToFile— шлях до файлу цільового файлу:time cp /pathToLargeFile > /dev/null
Ця команда допомагає виміряти пропускну здатність операцій читання в кластері Isilon. (Хоча можна запуститиddз MAC-клієнта, результати можуть бути суперечливими.) - Слідкуйте за результатами виконання команди на вкладці «Мережа » монітора активності.
Кластерна обробка
Пересмугування завдань
Перед вивченням операцій введення-виведення (I/O) кластера:
- Визначте, які завдання виконуються в кластері. Якщо виконуються завдання з пересмугування, як-от «Автобаланс», «Збирання» або «Мультисканування», подумайте, чому ці завдання виконуються та чи слід їх продовжувати.
- Враховуйте тип даних, що споживаються. Якщо клієнтські комп'ютери працюють з великими відеофайлами або віртуальними машинами (VM), завдання з пересмугуванням вимагає більшого обсягу IOPS диска, ніж зазвичай.
- Подумайте про те, щоб тимчасово призупинити завдання з повторної смуги. Це може значно підвищити продуктивність і може бути життєздатним короткостроковим рішенням проблеми з продуктивністю.
Дисковий ввід/вивід
Перевірка вводу/виводу диска може допомогти визначити, чи не використовуються певні диски надмірно.
За кластером
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступну команду, щоб визначити вхід/вивід диска:
isi statistics pstat
- З виводу цієї команди розділіть IOPS диска на загальну кількість дисків у кластері. Наприклад, для 8-вузлового кластера, що використовує вузли Isilon IQ 12000x, який розміщує 12 дисків на вузол, ви ділите IOPS диска на 96.
Для вузлів серії X і вузлів серії NL слід очікувати IOPS диска 70 або менше для 100% випадкових робочих процесів або IPOPS диска 140 або менше для 100% послідовних робочих процесів. Оскільки вузли серії NL мають менше оперативної пам'яті та нижчу швидкість процесора, ніж вузли серії X, вузли серії X можуть обробляти вищий IOPS диска.
По вузлу і по диску
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступну команду, щоб визначити IOPS диска за вузлом, що може допомогти виявити диски, які використовуються надмірно:
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Виконайте наведену нижче команду, щоб визначити, як запитувати статистику для кожного диска:
isi statistics describe --stats=all | grep disk
Операції в черзі
Іншим способом визначити, чи використовуються диски надмірно, є визначення кількості операцій, поставлених у чергу для кожного диска в кластері. Для однопотокового робочого процесу на основі SMB черга з 4 може вказувати на проблему, тоді як для операцій простору імен NFS із високим паралелізмом черга більша.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступну команду, щоб визначити, скільки операцій буде поставлено в чергу для кожного диска в кластері:
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Визначте затримку, спричинену операціями черги:
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -D
ЦП
Проблеми з процесором часто пов'язані з операціями, які клієнти виконують у кластері. За допомогою функції isi statistics можна визначити операції, що виконуються на кластері, каталогізовані або за мережевим протоколом, або за клієнтським комп'ютером.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера і авторизуйтесь за допомогою облікового запису "root".
- Виконайте наведену нижче команду, щоб визначити, які операції виконуються в мережі, і оцінити, які з цих операцій займають найбільше часу:
isi statistics protocol --orderby=TimeAvg --top
Цей вихід команди дає детальну статистику для всіх мережевих протоколів, організовану за тим, скільки часу потрібно кластеру, щоб відповісти клієнтам. Хоча результати цієї команди можуть не визначити, яка операція є найповільнішою, вона може вказати вам правильний напрямок. - Виконайте наступну команду, щоб отримати більше інформації про обробку процесора, наприклад, процесори яких вузлів використовуються найчастіше:
isi statistics system --top
- Виконайте наступну команду, щоб отримати чотири процеси на кожному вузлі, які споживають найбільше ресурсів процесора:
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
Ось рекомендовані ресурси, пов'язані з цією темою, які можуть зацікавити: