PowerScale OneFS: Усунення проблем із продуктивністю
Summary: Виріште повільну продуктивність PowerScale OneFS за допомогою нашого всебічного посібника з налаштування мережі, обробки навантаження та моніторингу за допомогою InsightIQ для підвищення ефективності кластера. ...
Symptoms
Клієнтські комп'ютери працюють повільно. Конкретні завдання, особливо ті, що працюють на кластері, або не справляються, або займають більше часу, ніж очікувалося.
Cause
Проблеми з продуктивністю зазвичай виникають через мережевий трафік, проблеми з конфігурацією мережі, навантаження на обробку клієнта або кластер, або їх поєднання. У цій статті описано кілька ефективних способів усунення проблем із продуктивністю.
Resolution
Усунення несправностей з InsightIQ
Зміст:
- Використання Isilon InsightIQ
- Усунення несправностей без InsightIQ
- Пропускна здатність мережі
- Розподіл клієнтських з'єднань
- SmartConnect
- Кластерна пропускна здатність
- Кластерна обробка
- Операції в черзі
- CPU
Використання 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-клієнта, результати можуть бути непослідовними.) - Відстежуйте результати команди у вкладці «Мережа » монітора активності.
Читайте тест.
При вимірюванні пропускної здатності операцій читання обов'язково не проводьте тести читання файлу, створеного під час тесту запису. Оскільки цей файл був кешований, результати ваших тестів читання будуть неточними. Натомість перевірте операцію читання файлу, який не був кешований. Знайдіть файл у кластері, який більший за 1GB, і посилайтеся на цей файл у тесті читання.
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
- Від CLI на кластері або з клієнтського комп'ютера UNIX чи Linux використовуйте
ddкоманду для зчитування файлу на кластері. Виконайте таку команду, деpathToFileє шляхом до цільового файлу:dd if=/pathToLargeFile of=/dev/null bs=1024k
Ця команда зчитує цільовий файл і повідомляє про час, необхідний для його прочитання. - Якщо у вас є MAC-клієнт і ви хочете провести додатковий аналіз,
- Запусти монітор активності.
- Виконайте таку команду, де
pathToFileє шляхом до цільового файлу:time cp /pathToLargeFile > /dev/null
Ця команда допомагає вимірювати пропускну здатність операцій читання на кластері Isilon. (Хоча можливо запуститиddвід MAC-клієнта, результати можуть бути непослідовними.) - Відстежуйте результати команди у вкладці «Мережа » монітора активності.
Кластерна обробка
Переробка робіт.
Перед розглядом операцій вводу/виведення (IOPS) кластера:
- Визначте, які завдання працюють на кластері. Якщо виконуються завдання restripe, такі як Auto-Balance, Collect або Multi-Scan, подумайте, чому ці завдання працюють і чи варто їм продовжувати працювати.
- Розглянемо тип даних, які споживаються. Якщо клієнтські комп'ютери працюють із великими відеофайлами або віртуальними машинами (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".
- Виконайте наступну команду, щоб визначити 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
CPU
Проблеми з процесором часто пов'язані з операціями, які клієнти виконують у кластері. Використовуючи 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
Ось рекомендовані ресурси, пов'язані з цією темою, які можуть зацікавити: