PowerScale OneFS: поиск и устранение проблем производительности
Summary: Устраните неполадки низкой производительности PowerScale OneFS с помощью комплексного руководства по настройке сети, обработке нагрузок и мониторингу с помощью InsightIQ для повышения эффективности кластера. ...
Symptoms
Клиентские компьютеры работают медленно. Некоторые задания, особенно те, которые выполняются в кластере, либо не выполняются, либо занимают больше времени, чем ожидалось.
Cause
Проблемы производительности обычно возникают из-за сетевого трафика, проблем конфигурации сети, нагрузки на клиентские или кластерные системы или их сочетания. В этой статье описано несколько эффективных способов устранения проблем производительности.
Resolution
Поиск и устранение неисправностей с помощью InsightIQ
Содержание
- Использование Isilon InsightIQ
- Поиск и устранение неисправностей без InsightIQ
- Пропускная способность сети
- Распределение клиентских подключений
- Пропускная способность кластера
- Обработка кластера
- Операции в очереди
- ЦП
Использование Isilon InsightIQ
Использование Isilon InsightIQ — это лучший способ мониторинга производительности и устранения проблем, связанных с производительностью.
Виртуальное устройство Isilon InsightIQ позволяет отслеживать и анализировать работу кластера Isilon с помощью гибких настраиваемых представлений диаграмм в веб-приложении InsightIQ. Эти диаграммы содержат подробную информацию об оборудовании кластера, программном обеспечении, файловой системе и операциях с протоколами. InsightIQ преобразует данные в визуальную информацию, которая подчеркивает любые отклонения производительности, позволяя быстро диагностировать узкие места или оптимизировать рабочие процессы.
Подробнее об использовании InsightIQ см. в информационном центре PowerScale InsightIQ.
Поиск и устранение неисправностей без InsightIQ
Если вы не используете InsightIQ, вы можете выполнить ряд команд для изучения проблем производительности. Сначала выполните поиск и устранение проблем с производительностью, проверив пропускную способность сети и кластера, затем исследуйте обработку кластера и, наконец, проанализируйте частоту ЦП отдельных узлов.
Пропускная способность сети
Используйте инструменты тестирования сети, например Iperf или Iperf3 Для определения пропускной способности кластера и клиентских компьютеров в сети.
Использование IperfС помощью Iperf выполните следующие команды на кластере и клиенте. Эти команды определяют размер окна, достаточны для определения, является ли сетевое соединение потенциальной причиной проблем с задержкой.
- Кластер:
iperf -s -w 262144 - Клиент
iperf -c <cluster IP> -w 262144
При использовании команды Iperf3С помощью Iperf выполните следующие команды на кластере и клиенте. Эти команды определяют размер окна, достаточны для определения, является ли сетевое соединение потенциальной причиной проблем с задержкой.
- Кластер:
iperf3 -s -w 262144 Клиентiperf3 -c <cluster IP> -w 262144
Распределение клиентских подключений
Проверьте, сколько клиентов NFS и SMB подключено к кластеру, чтобы убедиться, что они подключены не к одному узлу.
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
rootУчетная запись - Выполните
для проверки клиентов NFS.isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -d
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs В выходных данных отображается количество клиентов, подключенных к узлу, и количество активных клиентов на каждом узле. - Выполните
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfsisi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -d
В выходных данных отображается количество клиентов, подключенных к узлу, и количество активных клиентов на каждом узле.
Пропускная способность кластера
Оцените пропускную способность кластера, выполнив несколько тестов, которые определяют, сколько времени требуется для чтения и записи в файл. Выполните хотя бы один тест записи и один тест чтения, как описано ниже.
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
rootУчетная запись - Измените на
/ifsкаталог.cd /ifs - В интерфейсе командной строки (CLI) кластера или на клиентском компьютере под управлением UNIX или Linux используйте команду
ddдля записи нового файла в кластер.
Выполните следующую команду:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Эта команда создает образец файла размером 1 Гбайт и сообщает о времени, затраченном на его запись на диск. - На основе выходных данных этой команды экстраполируйте количество Мбайт в секунду, которое можно записать на диск в однопотоковых рабочих процессах.
- Если у вас есть клиент Mac и вы хотите провести дальнейший анализ, выполните следующие действия.
- Запустите Activity Monitor.
- Выполните
cat /dev/zero > /pathToFileкоманда, гдеpathToFile— путь к целевому файлу.
Эта команда помогает измерить пропускную способность операций записи в кластере Isilon. (Хотя можно запустить командуddна клиенте Mac, но результаты могут быть несогласованными.) - Следите за результатами команды на вкладке Network в Activity Monitor.
При измерении пропускной способности операций чтения не следует выполнять тесты чтения файла, созданного во время теста записи. Поскольку этот файл был кэширован, результаты тестов чтения будут неточными. Вместо этого проверьте операцию чтения файла, который не был кэширован. Найдите в кластере файл, размер которого превышает 1 Гбайт, и укажите его в тесте чтения.
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
rootУчетная запись - В интерфейсе командной строки (CLI) или на клиентском компьютере под управлением UNIX или Linux используйте команду
ddдля чтения файла в кластере.
Выполнитеdd if=/pathToLargeFile of=/dev/null bs=1024kкоманда, гдеpathToFile— путь к целевому файлу.
Эта команда считывает целевой файл и сообщает о времени, затраченном на его чтение. - Если у вас есть клиент Mac и вы хотите провести дальнейший анализ, выполните следующие действия.
- Запустите Activity Monitor.
- Выполните
time cp /pathToLargeFile > /dev/nullкоманда, гдеpathToFile— путь к целевому файлу.
Эта команда помогает измерить пропускную способность операций чтения в кластере Isilon. (Хотя можно запустить командуddна клиенте Mac, но результаты могут быть несогласованными.) - Следите за результатами команды на вкладке Network в Activity Monitor.
Обработка кластера
Перед проверкой операций ввода-вывода (IOPS) кластера выполните следующие действия.
- Определите, какие задания выполняются в кластере. Если выполняются задания перераспределения, такие как AutoBalance, Collect или MultiScan, подумайте, почему эти задания выполняются и должны ли они продолжать выполняться.
- Эти задания могут создавать событие кластера: событие 400100008: «Файловые операции заняли больше времени, чем ожидалось».
- Рассмотрите тип используемых данных. Если клиентские компьютеры работают с большими видеофайлами или виртуальными машинами, для задания перераспределения требуется большее количество операций ввода-вывода в секунду на диске, чем обычно.
- Рассмотрите возможность временной приостановки задания перераспределения. Это может значительно повысить производительность и стать эффективным краткосрочным решением проблемы производительности.
Задания SmartPools.
Во время выполнения задания производительность клиента NFS и SMB может снизиться:
- Определение приоритета задания SmartPools
isi job status
-
- Снижение влияния политики
isi job types modify SmartPools --policy LOW
-
- Настроить приоритет
isi job types modify SmartPools --priority 7
-
- Запланируйте политику на нерабочее время
isi job types modify SmartPools --policy OFF_HOURS
-
- Проверьте конфигурацию уровней, чтобы количество уровней не превышало 5
Дисковые системы ввода-вывода
Проверка операций ввода-вывода диска может помочь определить, используются ли определенные диски слишком часто.
По кластеру
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
- Выполните
для определения дискового ввода-вывода.isi statistics pstat В выходных данных этой команды разделите количество операций ввода-вывода в секунду на общее количество дисков в кластере. Например, для кластера из 8 узлов Isilon IQ 12000x, в каждом из которых размещается 12 дисков, количество операций ввода-вывода в секунду на диск разделить на 96.
Для узлов серии X и узлов серии NL следует ожидать, что количество операций ввода-вывода в секунду на диске составит 70 или менее для 100% произвольных рабочих процессов или 140 или менее для 100% последовательных рабочих процессов. Поскольку узлы серии NL имеют меньше ОЗУ и меньше тактовой частоты ЦП, чем узлы серии X, узлы серии X могут обрабатывать большее количество операций ввода-вывода в секунду на диске.
По узлу и по диску
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
- Выполните
для определения количества операций ввода-вывода в секунду для каждого узла, что может помочь обнаружить диски, которые используются слишком часто.isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=top - Выполните
для определения способа запроса статистики для каждого диска.isi_stats_tool -a get_key_info|grep node.disk.xfer
Операции в очереди
Еще один способ определить, используются ли диски слишком часто, — определить, сколько операций находится в очереди для каждого диска в кластере. Для однопоточного рабочего процесса на основе SMB очередь из 4 может указывать на проблему, а для операций с большим пространством имен NFS в параллельных группах очередь может быть значительно больше.
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
rootУчетная запись - Выполните
, чтобы определить, сколько операций поставлено в очередь для каждого диска в кластере.isi statistics drive list --nodes=all --sort=queued -d - Определите, как долго операция находилась в очереди:
isi statistics drive list --nodes=all --sort=queued -d
ЦП
Проблемы с ЦП часто связаны с операциями, выполняемыми клиентами в кластере. Использование isi statistics можно определить операции, выполняемые в кластере, которые будут каталогизированы по сетевому протоколу или клиентскому компьютеру.
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
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
Ниже приведены рекомендуемые ресурсы по данной теме, которые могут представлять интерес.