Performance "stats" sans perfstat ou Ops Mgr
Perfstat est un excellent moyen d'obtenir des informations très détaillées sur les performances du déposant lorsque vous avez un problème de performance ou d'autres que vous ne pouvez pas tout à fait mettre le doigt sur. Vous avez besoin d'avoir accès à la visionneuse perfstat, ou demandez à quelqu'un de traiter cette sortie pour vous, et alors vous devez au chalut à travers elle.
Performance Advisor Operations Manager, et plus particulièrement est brillante et 99% du temps vous donne les compteurs dont vous avez besoin pour diagnostiquer le problème. Une fois que vous avez trouvé votre inverse, elle est totalement indispensable!
Mais que faire si vous n'avez pas de gestionnaire des opérations, ou vous voulez juste sortir rapidement des informations sur une zone du système?
Premières choses que vous voulez regarder sysstat. Le meilleur ami de tous et excellente façon de voir "Mon système est occupé?". Chaque fois que vous exécutez sysstat, assurez-vous par là l'option "-s" modificateur de sorte que vous obtenez un résumé à la fin de la sortie. Si vous ne définissez pas un nombre d'itérations (-c <num>), puis Ctrl + C pour briser la sortie. "-X" est idéal pour donner à tous les domaines de la production, mais il peut être parfois un peu large. "-U" est mon préféré car il vous donne des lectures d'utilisation et ces le plus souvent les plus utiles lors du dépannage.
La plupart des colonnes sont assez explicite. CPU est occupé à%, NFS, CIFS, HTTP, FCP et iSCSI sont toutes les opérations du protocole compteurs. Net kB / s et de sortie sont évidents (pour référence une seule interface gigabit se fera un plaisir de soutenir autour 80Mo / s, mais peut s'étendre à 110/120MB/s). Disque et bande in & out. Regardez l'âge de cache quand il est vraiment bas, mais il ya mieux pour que les compteurs. Cache hit est un compteur que vous voulez comme proche de 100% que possible. Les données les plus lues devient cache le mieux! Type de CP est des points de cohérence, je ne vais pas entrer dans les détails de ce que ces sommes, il ya un très bon article sur cette KB déjà (https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb23471) . Et enfin Utilisation de disque qui semble provoquer une certaine confusion. C'est la lecture du disque le plus achalandé unique dans le système, et non pas une moyenne. Cette lecture peut rendre intéressant environ 100% (un peu comme CPU peut aussi), et cela signifie simplement que les disques sont de faire plus que ce qu'ils devraient!
Alors sysstat est un excellent moyen pour obtenir une vue de haut niveau de "Mon système est occupé" et vous donne également une idée approximative de l'endroit où le plus lent. Si le processeur est vraiment élevé, mais rien d'autre, alors c'est ce qui freine le système. Si l'utilisation du disque est très élevé, puis de nouveau, voici le problème. Mais ces chiffres ne sont pas concluants, et ne dirigez pas directement à un coupable. Par exemple, si l'utilisation des disques est très élevé, vous pourriez avoir besoin pour exécuter un WAFL réaffecter que vous avez ajouté quelques nouveaux disques et ce ne sont pas la tenue pas encore les données. Si votre processeur est très élevée, il se peut que vous faites beaucoup de traitement d'autres comme A-SIS et SnapVault, ou il pourrait être très aléatoire IO pour le CPU travaille plus à essayer de faire des calculs autour de cela.
La prochaine étape pourrait être de regarder statit. Un «priv ensemble avancé" de commande, et non pas pour la feinte cœur, une grande maîtrise pour obtenir un instantané de détails sur une période. Il suffit de lancer "statit-b" au début de la période de surveillance, puis "statit-e" à la fin. Assurez-vous de connecter votre fenêtre de sortie que vous aurez beaucoup de statit (plus que le standard Windows et Putty tampon spectacle). Il ya beaucoup de sorties statit, et je ne vais pas entrer trop dans le détail de tout cela ici (mais peut-être un autre jour). La plupart de celui-ci est assez explicite vraiment.
Ce qui m'amène vers la vraie raison de cet article, en premier lieu. Un de mes commandes préférées, et certainement une grande partie négligée, "stats". Cela a beaucoup d'informations à portée de main c'est, à peu près tout vous pouvez le voir dans la Performance Advisor et tout ce que vous pouvez signaler dans PerfStats est disponible dans la commande stats. Et peut-être beaucoup plus! "Stats" fonctionne très similaire à sysstat en ce qu'elle rapports compteurs sur la base des itérations. Si il vous suffit de courir, ça va rapporter ce que le système est fait à ce moment exact. Si vous lui dites d'exécuter toutes les 5 secondes, ça va rapporter ce qui s'est passé au cours de ces 5 secondes.
Alors d'abord en place, ne pas seulement dans et exécuter "montrent stats» sans avoir quelques minutes à perdre. La sortie est très complet! D'abord, vous voulez voir ce que les compteurs sont disponibles. Stats est divisé en «objets», les «instances» et de «compteurs». Pour montrer chacun, nous pouvons utiliser "liste stats ...»
filer01> Liste des stats des objets
Objets:
dépotoir
logical_replication_source
logical_replication_destination
vFiler
qtree
agrégées
iSCSI
FCP
cifs
le volume
LUN
cibles
NFSv3
IFNET
Processeur
le disque
système de
filer01> Liste des stats cas IFNET
Instances pour nom de l'objet: IFNET
B2net
Stockage-101
filer01> Liste des stats compteurs IFNET
Compteurs pour le nom de l'objet: IFNET
recv_packets
recv_errors
send_packets
send_errors
les collisions
recv_data
send_data
recv_mcasts
send_mcasts
recv_drop_packets
À titre d'exemple ci-dessus, je peux montrer tous les objets s'offrent à moi, je peux interroger toutes les instances de réseautage J'ai installer (2 VIFs, 1 avec un VLAN), et je peux voir ce que je peux compteurs rapport sur. Donc, mettre cela ensemble ...
filer01> stats montrent IFNET: Stockage-101: les collisions
IFNET: Stockage-101: les collisions: 0 / s
Grande, mon interface de stockage n'a pas de collisions réseau pour la période ce qui a courir! Voilà de bonnes nouvelles pour moi!
Si je veux l'exécuter à travers plusieurs itérations, je peux lui fournir des options un peu plus. Remarque: Les options doivent aller avant les informations de compteur!
filer01> stats show-n 5-i 1 IFNET: Stockage-101: les collisions
Collisions instance
/ S
Stockage-101 0
Stockage-101 0
Stockage-101 0
Stockage-101 0
Stockage-101 0
Grande, donc sur une période de 5 secondes, je n'ai toujours pas de collisions!
Vous remarquerez d'en haut qu'il ya un grand nombre de compteurs de performance disponibles, et ne sont pas tous d'entre eux ont le plus de noms verbeux. Vous pouvez interroger l'un de ces en exécutant "stats expliquent les compteurs".
filer01> stats expliquer compteurs collisions IFNET
Compteurs pour le nom de l'objet: IFNET
Nom: collisions
Description: Les collisions par seconde sur des interfaces CSMA
Propriétés: le taux
Unité: per_sec
Permet donc de prendre un autre exemple, je veux regarder des lectures de latence sur mon système d'échange ...
filer01> stats show-n 5-i 1 volume: exch01_db: volume read_latency: exch01_db: volume write_latency: exch01_logs: volume read_latency: exch01_logs: write_latency
Instance read_latency write_latenc
ms ms
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
Il est 8 heures du matin, aucun de l'équipe de vente est réveillé encore! Les têtes de colonne obtenir un peu biaisé, mais nous pouvons voir latence de lecture dans la première colonne, et d'écrire de latence dans la seconde.
Un de mes plus grandes plaintes au sujet sysstat est ce qui se passe si je veux garder cette course sur une période de temps et connectez-vous la sortie? Eh bien, je peux changer "autologout options" et de laisser mon portable branché, mais ce n'est jamais une bonne idée. "Stats" vous donne la possibilité au tuyau de sortie toutes les stats directement dans un fichier. Nouvelles Brilliant!
filer01> stats show-n 5-i 1-o / etc / volume stats.txt: exch01_db: volume read_latency: exch01_db: volume write_latency: exch01_logs: volume read_latency: exch01_logs: write_latency
filer01> rdfile / etc / stats.txt
Instance read_latency write_latenc
ms ms
exch01_db 0 16,00
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 8,00
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 1,00
exch01_logs 0 0
Malheureusement, cela ne libère pas la console, donc scripting ceci de RSH ou SSH peut être le meilleur pari, mais soyez prudent combien de temps vous exécutez le itérations pour!
Une autre fonctionnalité intéressante est que vous pouvez avoir des présélections. Donc, si vous avez 4 serveurs Exchange chacun avec 3 bases de données, alors vous pouvez charger tous les volumes: <vol_name>: lire les commandes write_latency / dans un fichier et numéro de cette commande directe de la stat. Les fichiers presets sont des fichiers XML, de sorte qu'ils prennent un peu de réflexion dans l'écriture, mais si vous avez vu XML avant, alors ce n'est pas si difficile.
Mon fichier XML ressemble à cela ...
<? Xml version = "1.0"?>
<preset>
<object name="volume">
<instance name="exch01_db">
<counter name="read_latency">
</ Compteur>
<counter name="write_latency">
</ Compteur>
</ Instance>
<instance name="exch01_logs">
<counter name="read_latency">
</ Compteur>
<counter name="write_latency">
</ Compteur>
</ Instance>
</ Object>
</ Prédéfinie>
Une fois enregistré dans / etc / stats / presets comme une ". Xml" fichier, je peux l'appeler directement à partir de la commande stats.
filer01> stats show-p change-i 1-n 5
Instance read_latency write_latenc
ms ms
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0,13
exch01_logs 0 0,12
exch01_db 0 0,00
exch01_logs 0 0,00
exch01_db 0 0
exch01_logs 0 0
Les possibilités sont énormes pour cela, mais cela ouvre quelque chose d'encore mieux. Nous pouvons maintenant utiliser "stats start" et "stats stop" pour déclencher ce rapport et je reçois ma console de retour!
filer01> stats start-p échanges
Nom de l'identificateur Stats est «Ind0x6920b2f0 '
filer01> stats show-je Ind0x6920b2f0
StatisticsID: Ind0x6920b2f0
volume: exch01_db: read_latency: 0ms
volume: exch01_db: write_latency: 5.14ms
volume: exch01_logs: read_latency: 0ms
volume: exch01_logs: write_latency: 0.00ms
filer01> stats stop-je Ind0x6920b2f0
StatisticsID: Ind0x6920b2f0
volume: exch01_db: read_latency: 0ms
volume: exch01_db: write_latency: 5.36ms
volume: exch01_logs: read_latency: 0ms
volume: exch01_logs: write_latency: 0.00ms
Espérons que vous commencez à comprendre pourquoi j'aime cette commande, et pourquoi les possibilités d'utilisation, ce sont énormes, et qu'il est très puissant!
Une dernière chose à ajouter, il ya beaucoup de compteurs disponibles par défaut en mode privilégié normal, mais essayez de tension au niveau avancé, ou même diagnostic, et voir combien de compteurs sont disponibles alors! Ceci est écrasante, mais avec un peu de creuser, très puissant.
Une dernière chose, vous pouvez utiliser des jokers dans le "show stats" de commande, afin de retirer tous les compteurs pour ma base de données d'échange ...
filer01> Afficher le volume stats: exch01_db: *
volume: exch01_db: avg_latency: 0.00ms
volume: exch01_db: total_ops: 3 / s
volume: exch01_db: read_data: 0b / s
volume: exch01_db: read_latency: 0ms
volume: exch01_db: read_ops: 0 / s
volume: exch01_db: write_data: 12288b / s
volume: exch01_db: write_latency: 0.00ms
volume: exch01_db: write_ops: 3 / s
volume: exch01_db: other_latency: 0ms
volume: exch01_db: other_ops: 0 / s
Ou pour montrer toutes les read_latency pour tous mes volumes ...
filer01> Afficher le volume stats: *: read_latency
volume: vol0: read_latency: 0ms
volume: exch01_db: read_latency: 0ms
volume: la maison: read_latency: 0ms
volume: backup: read_latency: 0ms
volume: part: read_latency: 0ms
Si vous avez des questions spécifiques, ou si vous souhaitez interroger la façon d'obtenir des informations spécifiques à l'encontre du système, n'hésitez pas à m'envoyer sur une question. Espérons que cela est utile pour tout le monde!










































stats est une commande de grande à utiliser pour la collecte de données à long terme des tendances aussi (si les mêmes données n'est pas exposée dans la MIB SNMP) - par exemple, par les données de performance de volume n'est pas disponible via le protocole SNMP MIB - J'ai une entrée de blog sur la façon dont je collectionne que les graphiques et fournir quelques exemple à http://aditya.grot.org/2009/02/netapp-ontap-per-volume-statistics.html
Certains outils disponibles pour une grande traduction de la sortie de "stats" disponible sur les Communautés NetApp - http://communities.netapp.com/docs/DOC-2092
grande après Chris, quelque chose de très instructif et certainement pas celui qui est couvert dans l'un des docs du «fondamentaux» - ou même les rapports techniques que j'ai lu jusqu'ici.