PowerScale OneFS : résolution des problèmes de performances
Summary: Dépannez les problèmes de ralentissement des performances de PowerScale OneFS à l’aide d’un guide complet sur la configuration réseau, les charges de traitement et la surveillance avec InsightIQ pour améliorer l’efficacité du cluster. ...
Symptoms
Les ordinateurs clients fonctionnent lentement. Certaines tâches, en particulier celles qui s’exécutent sur le cluster, échouent ou prennent plus de temps que prévu.
Cause
Les problèmes de performances sont généralement causés par le trafic réseau, les problèmes de configuration réseau, la charge de traitement du client ou du cluster, ou une conjonction de ces facteurs. Cet article décrit plusieurs méthodes efficaces pour résoudre les problèmes de performances.
Resolution
Dépannage avec InsightIQ
Sommaire :
- Utilisation d’Isilon InsightIQ
- Dépannage sans InsightIQ
- Débit du réseau
- Distribution des connexions client
- Débit du cluster
- Traitement du cluster
- Opérations en file d’attente
- Processeur
Utilisation d’Isilon InsightIQ
L’utilisation d’Isilon InsightIQ est le meilleur moyen de surveiller les performances et de résoudre les problèmes de performances.
L’appliance virtuelle Isilon InsightIQ vous permet de surveiller et d’analyser l’activité du cluster Isilon via des vues graphiques flexibles et personnalisables dans l’application Web InsightIQ. Ces graphiques fournissent des informations détaillées sur le matériel et les logiciels du cluster, ainsi que sur les opérations des systèmes de fichiers et des protocoles. InsightIQ transforme les données en informations visuelles qui font ressortir les performances aberrantes, ce qui permet de diagnostiquer rapidement les goulots d’étranglement ou d’optimiser les workflows.
Pour plus d’informations sur l’utilisation d’InsightIQ, reportez-vous au PowerScale InsightIQ - Info Hub.
Dépannage sans InsightIQ
Si vous n’utilisez pas InsightIQ, diverses commandes s’offrent à vous pour étudier les problèmes de performances. Pour résoudre les problèmes de performances, commencez par examiner les débits du réseau et du cluster, puis le traitement du cluster, et enfin les taux d’utilisation de CPU de chaque nœud.
Débit du réseau
Utilisez un outil de test réseau tel que Iperf ou Iperf3 pour déterminer les capacités de débit du cluster et des ordinateurs clients sur votre réseau.
Utilisation de IperfÀ l’aide d’Iperf, exécutez les commandes suivantes sur le cluster et le client. Ces commandes définissent une taille de fenêtre suffisamment grande pour indiquer si la liaison réseau est une cause potentielle de problèmes de latence.
- Cluster :
iperf -s -w 262144 - Client :
iperf -c <cluster IP> -w 262144
Utiliser Iperf3À l’aide d’Iperf, exécutez les commandes suivantes sur le cluster et le client. Ces commandes définissent une taille de fenêtre suffisamment grande pour indiquer si la liaison réseau est une cause potentielle de problèmes de latence.
- Cluster :
iperf3 -s -w 262144 Client :iperf3 -c <cluster IP> -w 262144
Distribution des connexions client
Vérifiez le nombre de clients NFS et SMB connectés au cluster pour vous assurer qu’ils ne favorisent pas un nœud en particulier.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
rootAccounts - Exécutez le fichier
pour vérifier les clients 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 Le résultat affiche la quantité de clients connectés par nœud et combien parmi ces clients sont actifs sur chaque nœud. - Exécutez le fichier
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
Le résultat affiche la quantité de clients connectés par nœud et combien parmi ces clients sont actifs sur chaque nœud.
Débit du cluster
Évaluez le débit du cluster en effectuant quelques tests de mesure du temps nécessaire à la lecture et à l’écriture dans un fichier. Effectuez au moins un test d’écriture et un test de lecture selon la procédure ci-après.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
rootAccounts - Passez à la
/ifsrépertoire :cd /ifs - À partir de l’interface de ligne de commande (CLI) sur le cluster ou à partir d’un ordinateur client UNIX ou Linux, utilisez la commande
ddpour écrire un nouveau fichier sur le cluster.
Exécutez la commande suivante :dd if=/dev/zero of=1GBfile bs=1024k count=1024
Cette commande crée un exemple de fichier de 1 Go et indique le temps nécessaire pour l’écrire sur le disque. - Extrapolez le résultat de cette commande pour obtenir le nombre de Mo par seconde pouvant être écrits sur le disque en workflow à flux unique.
- Si vous disposez d’un client Mac et que vous souhaitez effectuer une analyse plus approfondie :
- Démarrez Activity Monitor.
- Exécutez le fichier
cat /dev/zero > /pathToFilecommande, oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande permet de mesurer le débit des opérations d’écriture sur le cluster Isilon. (Bien qu’il soit possible d’exécuter la commandeddà partir d’un client Mac, les résultats peuvent s’avérer incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau d’Activity Monitor.
Lorsque vous mesurez le débit des opérations de lecture, veillez à ne pas effectuer les tests de lecture sur le fichier créé lors du test d’écriture. Ce fichier a été mis en cache et les résultats de vos tests de lecture seraient inexacts. Testez plutôt la lecture d’un fichier qui n’a pas été mis en cache. Recherchez un fichier de plus de 1 Go sur le cluster et pointez vers ce fichier dans le test de lecture.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
rootAccounts - À partir de la CLI sur le cluster ou à partir d’un ordinateur client UNIX ou Linux, utilisez la commande
ddpour lire un fichier sur le cluster.
Exécutez le fichierdd if=/pathToLargeFile of=/dev/null bs=1024kcommande oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande lit le fichier ciblé et indique le temps qu’il a fallu pour le lire. - Si vous disposez d’un client Mac et que vous souhaitez effectuer une analyse plus approfondie :
- Démarrez Activity Monitor.
- Exécutez le fichier
time cp /pathToLargeFile > /dev/nullcommande oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande permet de mesurer le débit des opérations de lecture sur le cluster Isilon. (Bien qu’il soit possible d’exécuter la commandeddà partir d’un client Mac, les résultats peuvent s’avérer incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau d’Activity Monitor.
Traitement du cluster
Avant d’examiner les opérations d’entrée/sortie (E/S) par seconde du cluster :
- Déterminez les tâches en cours d’exécution sur le cluster. Si des tâches de répartition telles que AutoBalance, Collect ou MultiScan sont en cours d’exécution, déterminez pourquoi ces tâches sont en cours d’exécution et si elles doivent continuer de l’être.
- Ces tâches peuvent produire un événement de cluster : Événement 400100008 : « Les opérations de fichier ont pris plus de temps que prévu. »
- Prenez en compte le type de données consommées. Si les ordinateurs clients travaillent avec des fichiers vidéo volumineux ou des machines virtuelles (VM), la tâche de répartition nécessite une plus grande quantité d’E/S de disque par seconde que d’habitude.
- Envisagez de suspendre temporairement une tâche de répartition. Cette action peut considérablement améliorer les performances et constituer une solution viable à court terme à un problème de ce type.
Tâches SmartPools.
Les performances des clients NFS et SMB peuvent se dégrader pendant l’exécution de la tâche :
- Déterminer le degré de priorité de la tâche SmartPools
isi job status
-
- Réduire l’impact de la politique
isi job types modify SmartPools --policy LOW
-
- Ajuster la priorité
isi job types modify SmartPools --priority 7
-
- Planifier la politique en dehors des heures de travail
isi job types modify SmartPools --policy OFF_HOURS
-
- Passez en revue la configuration des niveaux, en maintenant le nombre de niveaux à moins de 5
E/S
de disqueL’examen des disques d’E/S peut vous aider à déterminer si certains disques sont surutilisés.
Par cluster
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez le fichier
commande permettant de vérifier les E/S du disque.isi statistics pstat À partir de la sortie de cette commande, divisez les E/S de disque par seconde par le nombre total de disques dans le cluster. Par exemple, pour un cluster à 8 nœuds utilisant des nœuds Isilon IQ 12000x, qui héberge 12 disques par nœud, vous divisez le nombre d’IOPS du disque par 96.
Pour les nœuds série X et NL, attendez-vous à voir des IOPS de disque de 70 ou moins pour les workflows 100 % aléatoires, ou des IOPS de disque de 140 ou moins pour des workflows 100 % séquentiels. Puisque les nœuds de la série NL ont moins de RAM et une vitesse de processeur inférieure à celle des nœuds de la série X, les nœuds de la série X peuvent gérer des E/S de disque par seconde plus élevées.
Par nœud et par disque
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez le fichier
pour déterminer les IOPS des disques par nœud, ce qui peut aider à détecter les disques surutilisés.isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=top - Exécutez le fichier
pour déterminer comment interroger les statistiques par disque.isi_stats_tool -a get_key_info|grep node.disk.xfer
Opérations en file d’attente
Une autre façon de déterminer si les disques sont surutilisés consiste à vérifier le nombre d’opérations mises en file d’attente pour chaque disque du cluster. Dans le cas d’un workflow SMB à flux unique, une file d’attente de quatre opérations peut indiquer un problème, tandis que pour les opérations d’espace de nommage NFS avec une simultanéité élevée des accès, la file d’attente peut être beaucoup plus grande.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
rootAccounts - Exécutez le fichier
pour déterminer le nombre d’opérations mises en file d’attente pour chaque disque du cluster.isi statistics drive list --nodes=all --sort=queued -d - Déterminez la durée pendant laquelle l’opération est restée dans la file d’attente :
isi statistics drive list --nodes=all --sort=queued -d
Processeur
Les problèmes de processeur sont souvent liés aux opérations que les clients effectuent sur le cluster. Utilisation du isi statistics vous pouvez déterminer les opérations en cours d’exécution sur le cluster, cataloguées selon le protocole réseau ou l’ordinateur client.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
rootAccounts - Exécutez le fichier
Déterminez les opérations en cours d’exécution sur l’ensemble du réseau et évaluez celles qui prennent le plus de temps en exécutant la commande suivante :isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format top
Ce résultat de commande fournit des statistiques détaillées pour tous les protocoles réseau, organisées en fonction du temps nécessaire au cluster pour répondre aux clients. Bien que les résultats de cette commande n’identifient pas l’opération la plus lente, ils peuvent vous orienter dans la bonne direction. - Exécutez le fichier
pour obtenir plus d’informations sur le traitement du processeur, telles que les processeurs des nœuds les plus utilisés.isi statistics system --nodes all --format top - Exécutez le fichier
Pour obtenir les quatre processus qui consomment le plus de ressources CPU sur chaque nœud, exécutez la commande suivante :isi_for_array -sX 'top -u -n |grep PID -A4'
Additional Information
connexesVoici des ressources recommandées sur ce sujet qui pourraient vous intéresser :