User Tools

Site Tools


audit_performance

Audit performance système

Documentations

I/O disque

hdparm

Test rapidité des disques dur avec hdparm.

Avec un disque sdb.

hdparm -Tt /dev/sdb

Options possibles pour hdparm.

hdparm --help

iostat

Usage.

iostat interval count

Options usuelles.

-x : extended statistics.
-t : Afficher le temps de chaque rapport.
-c : affiche l'usage CPU (sans -d).
-d : affiche le rapport de l'utilisation disque (sans -c).
-p device : affiche les statistiques des devices block et de leurs partitions (sans -x).
-k : kilobytes (bytes par défaut).
-m : megabytes (bytes par défaut).

Statistiques CPU exécutées toutes les 6 secondes 5 fois. Si rien n'est mentionné, cela ne s'arrête pas.

iostat -xtc 6 5

Détails des valeurs de retour affichées avec -c (CPU Utilization Report) à voir dans le man du système.

Statistiques disques exécutées toutes les 6 secondes 5 fois. Si rien n'est mentionné en nombre de fois, cela ne s'arrête pas.

iostat -xtd 6 5

Détails de valeurs de retour affichées avec -d (Device Utilization Report) à voir dans le man du système.

Les colonnes r/s, w/s, kr/s, et kw/s montrent respectivement les read et write par secondes en octets et kilo-octets.

Sur Solaris, les colonnes importantes à observer sont : svc_t, wait %w et %b – plus le temps de traitement est élevé, plus la performance s'en ressent bien évidemment. Couplés l'un à l'autre, le temps de traitement et le temps d'occupation donnent une bonne impression sur l'état des entrées / sorties d'un disque. Un taux d'occupation de plus de deux-tiers et un temps de traitement de plus de 50 millisecondes sont les indicateurs d'un goulot d'étranglement.

Que faire ? Voilà quelques pistes à explorer :

  • répartir la charge sur plusieurs disques en utilisant un meilleur partitionnement;
  • distribuer le swap (la pagination) sur plusieurs disques, ce qui a d'autant plus de sens que le swapping est important sur son système;
  • faire figurer dans la mesure du possible les données liées sur la même partition;
  • augmenter la mémoire (RAM) pour diminuer la pagination; c'est le cas par exemple lors de l'utilisation de SGBD qui sont très gourmands en mémoire, mais peu demandeurs de capacités de traitement rapides par le processeur;
  • utiliser autant que faire se peut les ressources en cache des applications développées; php a par exemple un système de cache plutôt efficace aujourd'hui, très utile pour les requêtes et traitements récurrents;
  • bien entendu, éviter d'écrire des requêtes qui parcourent les tables inutilement; cela demande donc une modélisation a priori qui arbitre entre un modèle E/R approprié et les capacités matérielles requises, sans oublier la manière dont on écrit les applications;
  • si le disque est utilisé à 100%, on peut répartir le système de fichier sur deux disques ou plus en utilisant l'utilitaire de gestion des volumes disques que l'on trouve sous Solaris (le Volume Manager);
  • déplacer le système de fichier vers un autre disque ou contrôleur plus rapide.

Statistiques disques du device et des partitions de sda exécutées toutes les 6 secondes 5 fois.

iostat -p sda 6 5

dd

Pour tester les temps d'accès disques (io).

time dd if=/dev/hda1 of=/file400Mo bs=1M count=400

CPU

mpstat

Statistiques CPU.

Usage.

mpstat <interval> <count>

Exécuter mpstat de manière infini toutes les 8 secondes.

mpstat 8

Autres outils utilisables

Load average

Affichage du load average.

top
uptime
cat /proc/loadavg

Load average of 1 means a single CPU system is loaded all the time while on a 4 CPU system it means it was idle 75% of the time.

Mémoire

free

free -m
             total       used       free     shared    buffers     cached
Mem:          7983       5861       2121          0        382       1885
-/+ buffers/cache:       3593       4390
Swap:         3999        338       3661

Mémoire par processus

Analyser la mémoire utilisée par un processus 1234.

cat /proc/1234/smaps

Utilisation de la commande ps.

ps -efo pid,user,args,rss,%cpu,%mem,vsz --sort %mem
ps -efo pid,user,args,rss,pcpu,pmem,vsz --sort pmem
ps -efo pid,user,command,args,rss,pmem,vsz,size,pcpu,time,psr --sort pmem

Valgrind

Autres outils utilisables

Réseau

netstat

Statistiques réseaux.

Liste des statistiques par interfaces.

netstat -i

Etat des connexions.

netstat

Statistique en continue.

netstat -c

Liste les connexions établies.

netstat -tap

Liste les ports en écoute.

netstat -tulpen

Test bande passante réseau sans contrainte du stockage. Sur machine de destination

nc -lnp 12345 >/dev/null

Sur la machine source

dd if=/dev/zero bs=1M count=1K | nc -n 10.10.0.2 12345

La donnée est générée en RAM côté source et transmise par le réseau à destination de la machine en RAM également. Aucun stockage persistant n'est utilisé.

iftop

top des interfaces réseau.

Services

  • apachetop : top Apache.
  • mytop : top MySQL.
  • ftptop : liste des connexions au serveur FTP.

Outils polyvalents

sysreport

Outil d'aspiration de toutes les configurations d'un système.

Entrer la commande suivante, un nom et un numéro de ticket et un fichier /tmp/sosreport-<nom>.<num_ticket>-<cle>.tar.bz2.

sysreport

Décompresser le fichier et toutes les informations systèmes sont contenues dans le dossier et peuvent être consultées.

vmstat

Statistiques processeurs, mémoires, IO.

Usage.

vmstat <delay> <count>

Exécution de vmstat toutes les 5 secondes de manière illimité.

vmstat 5

Voir le man du système pour le détail de chaque colonne.

top/htop

FIXME

http://linux.die.net/man/1/top

x : afficher le script exécuté par le processus au lieu du nom du process.

htop est un top un peu moins austère avec quelques couleurs.

sar

FIXME Compteur de l'activité système. http://linux.die.net/man/1/sar

sar -o datafile interval count >/dev/null 2>&1 &

nmon

audit_performance.txt · Last modified: 2018/11/25 11:19 (external edit)