PowerScale OneFS: Усунення проблем із продуктивністю
Summary: Виріште повільну продуктивність PowerScale OneFS за допомогою комплексного посібника з налаштування мережі, обробки навантаження та моніторингу за допомогою InsightIQ для підвищення ефективності кластера. ...
Symptoms
Клієнтські комп'ютери працюють повільно. Конкретні завдання, особливо ті, що працюють на кластері, або не справляються, або займають більше часу, ніж очікувалося.
Cause
Проблеми з продуктивністю зазвичай виникають через мережевий трафік, проблеми з конфігурацією мережі, навантаження на обробку клієнтів або кластер, або їх поєднання. У цій статті описано кілька ефективних способів усунення проблем із продуктивністю.
Resolution
Усунення несправностей з InsightIQ
Зміст:
- Використання Isilon InsightIQ
- Усунення несправностей без InsightIQ
- Пропускна здатність мережі
- Розподіл клієнтських з'єднань
- Кластерна пропускна здатність
- Кластерна обробка
- Операції в черзі
- CPU
Використання Isilon InsightIQ
Використання Isilon InsightIQ — найкращий спосіб моніторити продуктивність і усунути проблеми з продуктивністю.
Віртуальний пристрій Isilon InsightIQ дозволяє моніторити та аналізувати активність кластера Isilon за допомогою гнучких, налаштовуваних зображень діаграм у веб-додатку InsightIQ. Ці діаграми надають детальну інформацію про апаратне забезпечення, програмне забезпечення кластерів, а також операції файлових систем і протоколів. InsightIQ перетворює дані на візуальну інформацію, яка підкреслює будь-які винятки продуктивності, що дозволяє швидко діагностувати вузькі місця або оптимізувати робочі процеси.
Детальніше про використання InsightIQ див. PowerScale InsightIQ - Інформаційний хаб.
Усунення несправностей без InsightIQ
Якщо ви не використовуєте InsightIQ, ви можете виконати різні команди для дослідження проблем з продуктивністю. Спочатку вивчайте проблеми з продуктивністю, аналізуючи пропускну здатність мережі та кластерів, потім обробку кластерів і, нарешті, аналізуючи частоти процесорів окремих вузлів.
Пропускна здатність мережі
Використовуйте інструмент для мережевого тестування, наприклад Iperf або Iperf3 щоб визначити пропускну здатність кластера та клієнтських комп'ютерів у вашій мережі.
Використання Iperf, виконує наступні команди на кластері та клієнті. Ці команди визначають розмір вікна, достатньо великий, щоб визначити, чи є мережеве з'єднання потенційною причиною затримки.
- Кластер:
iperf -s -w 262144 - Клієнт:
iperf -c <cluster IP> -w 262144
Використання Iperf3, виконує наступні команди на кластері та клієнті. Ці команди визначають розмір вікна, достатньо великий, щоб визначити, чи є мережеве з'єднання потенційною причиною затримки.
- Кластер:
iperf3 -s -w 262144 Клієнт:iperf3 -c <cluster IP> -w 262144
Розподіл клієнтських з'єднань
Перевірте, скільки клієнтів Network File System (NFS) та Server Message Block (SMB) підключено до кластера, щоб переконатися, що вони не віддають перевагу одному вузлу.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему за допомогою
rootРахунок. - Запусти
isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -dкоманду перевірити клієнти NFS.
Вихід показує кількість підключених клієнтів на вузол і кількість із них активних на кожному вузлі. - Запусти
isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -dкоманда перевірити клієнтів SMB.
Вихід показує кількість підключених клієнтів на вузол і кількість із них активних на кожному вузлі.
Кластерна пропускна здатність
Оцінюйте пропускну здатність кластера, проводячи тести запису та читання, які вимірюють час, необхідний для читання та запису файлу. Проведіть принаймні один письмовий і один тест на читання, наступним чином.
Напиши тест.
- Відкрийте SSH-з'єднанняна будь-якому вузлі кластера та увійдіть у систему за допомогою
rootРахунок. - Зміна на
/ifsДовідник:cd /ifs - З інтерфейсу командного рядка (CLI) кластера або з клієнтського комп'ютера UNIX чи Linux використовуйте
ddкоманду для запису нового файлу в кластер.
Виконайте таку команду:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Ця команда створює зразковий файл розміром 1 ГБ і повідомляє про час, необхідний для запису на диск. - З результатів цієї команди екстраполюйте, скільки МБ за секунду можна записати на диск у однопотокових робочих процесах.
- Якщо у вас є MAC-клієнт і ви хочете провести додатковий аналіз,
- Запусти монітор активності.
- Запусти
cat /dev/zero > /pathToFileкоманди, деpathToFile— це шлях до цільового файлу.
Ця команда допомагає вимірювати пропускну здатність операцій запису на кластері Isilon. (Хоча можливо запуститиddвід MAC-клієнта, результати можуть бути непослідовними.) - Відстежуйте результати команди у вкладці «Мережа » монітора активності.
Прочитайте тест.
При вимірюванні пропускної здатності операцій читання обов'язково не проводьте тести читання файлу, створеного під час тесту запису. Оскільки цей файл був кешований, результати ваших тестів читання будуть неточними. Натомість перевірте операцію читання файлу, який не був кешований. Знайдіть файл у кластері, який більший за 1GB, і посилайтеся на цей файл у тесті читання.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему за допомогою
rootРахунок. - Від CLI на кластері або з клієнтського комп'ютера UNIX чи Linux використовуйте
ddкоманду для зчитування файлу на кластері.
Запустиdd if=/pathToLargeFile of=/dev/null bs=1024kкомандувати, деpathToFile— це шлях до цільового файлу.
Ця команда зчитує цільовий файл і повідомляє про час, необхідний для його прочитання. - Якщо у вас є MAC-клієнт і ви хочете провести додатковий аналіз,
- Запусти монітор активності.
- Запусти
time cp /pathToLargeFile > /dev/nullкомандувати, деpathToFile— це шлях до цільового файлу.
Ця команда допомагає вимірювати пропускну здатність операцій читання на кластері Isilon. (Хоча можливо запуститиddвід MAC-клієнта, результати можуть бути непослідовними.) - Відстежуйте результати команди у вкладці «Мережа » монітора активності.
Кластерна обробка
Переробка робіт.
Перед розглядом операцій вводу/виведення (IOPS) кластера:
- Визначте, які завдання працюють на кластері. Якщо виконуються завдання для перерозподілу, такі як Auto-Balance, Collect або MultiScan, подумайте, чому ці завдання виконуються і чи варто їм продовжувати працювати.
- Розглянемо тип даних, які споживаються. Якщо клієнтські комп'ютери працюють із великими відеофайлами або віртуальними машинами (VM), завдання restriped вимагає більшої кількості IOPS на диску, ніж зазвичай.
- Розгляньте можливість тимчасово призупинити роботу з перечистки. Це може покращити продуктивність і стати життєздатним короткостроковим рішенням проблеми з продуктивністю.
Ввод/
вивід дискаАналіз вводу/виводу диска може допомогти визначити, чи не використовуються певні диски надмірно.
За кластером
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
- Запусти
isi statistics pstatкоманду для визначення дискового введення/виведення Від виводу цієї команди розділіть IOPS диска на загальну кількість дисків у кластері. Наприклад, для кластеру з 8 вузлів, що використовує Isilon IQ 12000x вузлів, який містить 12 дисків на вузол, ви ділите IOPS диска на 96
.Для вузлів серії X і NL-Series слід очікувати IOPS диска 70 або менше для 100% випадкових робочих процесів, або IOPS диска 140 або менше для 100% послідовних робочих процесів. Оскільки вузли серії NL мають менше оперативної пам'яті та нижчу швидкість процесорів, ніж вузли серії X, вузли серії X-серії можуть обробляти вищі IOPS диска.
За вузлом і за диском
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
- Запусти
isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=topкоманду для визначення IOPS диска за вузлом, що допомагає виявити диски, які використовуються надмірно. - Запусти
isi_stats_tool -a get_key_info|grep node.disk.xferкоманду для визначення запиту статистики на кожному диску.
Операції в черзі
Ще один спосіб визначити, чи диски надмірно використовуються, — визначити, скільки операцій поставлено в чергу для кожного диска в кластері. Для однопотокового робочого процесу на основі SMB черга з чотирьох може свідчити про проблему, тоді як для операцій з високою паралелізацією NFS черга більша.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему за допомогою
rootРахунок. - Запусти
isi statistics drive list --nodes=all --sort=queued -dкоманду для визначення, скільки операцій поставлено в чергу для кожного диска в кластері. - Визначте, скільки часу була операція в черзі:
isi statistics drive list --nodes=all --sort=queued -d
CPU
Проблеми з процесором часто пов'язані з операціями, які клієнти виконують у кластері. Використовуючи isi statistics ви можете визначити операції, виконані на кластері, каталогізовані або мережевим протоколом, або клієнтським комп'ютером.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему за допомогою
rootРахунок. - Запусти
isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format topКоманда визначає, які операції виконуються в мережі, і яка з них займає найбільше часу.
Цей вихід команди надає детальну статистику для всіх мережевих протоколів, організовану за тим, скільки часу кластер відповідає клієнтам. Хоча результати цієї команди можуть не визначити, яка операція є найповільнішою, вона може вказати вам правильний напрямок. - Запусти
isi statistics system --nodes all --format topщоб отримати більше інформації про обробку процесорами, наприклад, які процесори вузлів використовуються найчастіше. - Запусти
isi_for_array -sX 'top -u -n |grep PID -A4'команду для отримання чотирьох процесів на кожному вузлі, які споживають найбільше ресурсів процесора.
Additional Information
Ось рекомендовані ресурси, пов'язані з цією темою, які можуть зацікавити: