PowerScale OneFS : Résolution des problèmes de performances
Summary: Dépannez les problèmes de ralentissement des performances de PowerScale OneFS avec notre 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. Les tâches spécifiques, 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 dus au trafic réseau, aux problèmes de configuration réseau, à la charge de traitement du client ou du cluster, ou à une combinaison de ces facteurs. Cet article décrit plusieurs méthodes efficaces pour résoudre les problèmes de performances.
Resolution
Dépannage avec InsightIQ
Table des matières :
- Utilisation d’Isilon InsightIQ
- Dépannage sans InsightIQ
- Débit du réseau
- Distribution des connexions client
- SmartConnect
- 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 Guide de l’utilisateur InsightIQ.
Dépannage sans InsightIQ
Si vous n’utilisez pas InsightIQ, vous pouvez exécuter différentes commandes pour examiner 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 pour déterminer les capacités de débit du cluster et des ordinateurs clients sur votre réseau.
Utilisant 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.
- Grappe:
iperf -s -w 262144
- Client :
iperf -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 ».
- Exécutez la commande suivante pour vérifier les clients NFS :
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
Le résultat affiche le nombre de clients connectés par nœud et le nombre de ces clients actifs sur chaque nœud. - Exécutez la commande suivante pour vérifier les clients SMB :
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
Le résultat affiche le nombre de clients connectés par nœud et le nombre de ces clients actifs sur chaque nœud.
SmartConnect
Vérifiez que le nœud sur lequel SmartConnect s’exécute n’est pas surchargé par le trafic réseau.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez la commande suivante :
isi_for_array -sq 'ifconfig|grep em -A3'
Le résultat affiche la liste de toutes les adresses IP liées à l’interface externe. - Recherchez tous les nœuds qui ont une adresse IP supplémentaire que les autres.
- Vérifiez l’état des nœuds que vous avez remarqués à l’étape 3 en exécutant la commande suivante :
isi status
Vérifiez la colonne de débit de la sortie pour déterminer la charge des nœuds constatée à l’étape 3.
Débit du cluster
Évaluez le débit du cluster en effectuant des tests d’écriture et de lecture qui mesurent le temps nécessaire à la lecture et à l’écriture dans un fichier. Effectuez au moins un test d’écriture et un test de lecture, comme suit.
Test d’écriture
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Accédez au répertoire /ifs :
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 la commande suivante, où
pathToFileest le chemin d’accès au fichier ciblé :cat /dev/zero > /pathToFile
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 commandeddd’un client MAC, les résultats peuvent être incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau du Moniteur d’activité.
Lire le test
Lorsque vous mesurez le débit des opérations de lecture, veillez à ne pas effectuer de tests de lecture sur le fichier que vous avez 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 ».
- À 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 la commande suivante, dans laquellepathToFileest le chemin d’accès au fichier ciblé :dd if=/pathToLargeFile of=/dev/null bs=1024k
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 la commande suivante, dans laquelle
pathToFileest le chemin d’accès au fichier ciblé :time cp /pathToLargeFile > /dev/null
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 commandeddd’un client MAC, les résultats peuvent être incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau du Moniteur d’activité.
Traitement du cluster
Tâches
de répartitionAvant d’examiner les opérations d’entrée/sortie (E/S) (IOPS) du cluster :
- Déterminez les tâches en cours d’exécution sur le cluster. Si des tâches de répartition telles que l’équilibrage automatique, la collecte ou l’analyse multiple sont en cours d’exécution, déterminez pourquoi ces tâches sont en cours d’exécution et si elles doivent continuer à s’exécuter.
- Tenez compte du type de données consommées. Si les ordinateurs clients utilisent des fichiers vidéo volumineux ou des machines virtuelles (VM), la tâche répartie nécessite un nombre d’IOPS de disque supérieur à la normale.
- Envisagez de suspendre temporairement une tâche de répartition. Cela peut considérablement améliorer les performances et constituer une solution viable à court terme à un problème de performances.
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 la commande suivante pour 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 de 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 de la série X et ceux de la série NL, vous devriez voir des E/S de disque par seconde de 70 ou moins pour 100 % de workflows aléatoires, ou des E/S de disque par seconde de 140 ou moins pour 100 % de workflows 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 la commande suivante pour vérifier les IOPS des disques par nœud, ce qui peut vous aider à détecter les disques surutilisés :
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Exécutez la commande suivante pour déterminer comment interroger les statistiques par disque :
isi statistics describe --stats=all | grep disk
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 4 personnes peut indiquer un problème, tandis que pour les opérations d’espace de nommage NFS à accès simultané élevé, la file d’attente est plus grande.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez la commande suivante pour déterminer le nombre d’opérations mises en file d’attente pour chaque disque du cluster :
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Déterminez la latence causée par les opérations de file d’attente :
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -D
Processeur
Les problèmes de processeur sont souvent liés aux opérations que les clients effectuent sur le cluster. En utilisant la page isi statistics , vous pouvez déterminer les opérations effectuées sur le cluster, cataloguées par protocole réseau ou ordinateur client.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez la commande suivante pour déterminer les opérations en cours d’exécution sur le réseau et évaluer celles qui prennent le plus de temps :
isi statistics protocol --orderby=TimeAvg --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 la commande suivante pour obtenir plus d’informations sur le traitement du processeur, telles que les processeurs des nœuds les plus utilisés :
isi statistics system --top
- Exécutez la commande suivante pour obtenir les quatre processus qui consomment le plus de ressources CPU sur chaque nœud :
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
connexesVoici des ressources recommandées sur ce sujet qui pourraient vous intéresser :