wiki.deimos.fr
Open in
urlscan Pro
2606:50c0:8002::153
Public Scan
URL:
https://wiki.deimos.fr/Sysstat_:_Des_outils_indispensable_pour_analyser_des_probl%C3%A8mes_de_performances.html
Submission: On November 28 via manual from FR — Scanned from FR
Submission: On November 28 via manual from FR — Scanned from FR
Form analysis
2 forms found in the DOMhttps://wiki.deimos.fr/index.php
<form action="https://wiki.deimos.fr/index.php" id="searchform">
<div id="simpleSearch">
<input type="search" name="search" placeholder="Search" title="Search Deimos.fr / Bloc Notes Informatique [f]" accesskey="f" id="searchInput"><input type="hidden" value="Special:Search" name="title"><input type="submit" name="fulltext"
value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"><input type="submit" name="go" value="Go" title="Go to a page with this exact name if exists" id="searchButton"
class="searchButton">
</div>
</form>
http://www.google.fr/cse
<form action="http://www.google.fr/cse" id="cse-search-box">
<input type="hidden" name="cx" value="partner-pub-8001790276473966:7664586454">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" size="12">
<input type="submit" name="sa" value="Search">
</form>
Text Content
SYSSTAT : DES OUTILS INDISPENSABLE POUR ANALYSER DES PROBLÈMES DE PERFORMANCES From Deimos.fr / Bloc Notes Informatique Jump to: navigation, search CONTENTS * 1 Introduction * 2 Installation * 2.1 Debian * 2.2 Red Hat * 2.3 Solaris * 3 iostat * 3.1 Linux * 3.2 Solaris * 4 sar * 4.1 Disques * 4.2 CPU * 4.3 Mémoire * 4.4 Swap * 4.5 Network * 4.6 Les IO * 4.7 Les processus * 5 FAQ * 5.1 sar: can't open /var/adm/sa/saXX : No such file or directory * 6 Ressources Sysstat 1 INTRODUCTION Sysstat est un package qui contient le binaire sar et iostat. Le dernier sert à monitorer uniquement les IO disque, tandis que sar sert à monitorer à peu prêt tout. 2 INSTALLATION 2.1 DEBIAN Sous Debian, il va falloir installer sysstat : aptitude aptitude install sysstat 2.2 RED HAT Sous Red Hat, il va falloir installer sysstat : yum yum install sysstat 2.3 SOLARIS Sous Solaris, il va falloir utiliser les packages Sun Freeware pour trouver cet outil : pkg-get pkg-get install CSWsysstat 3 IOSTAT iostat va permettre de mesurer les I/O disque. S'il peut être très intéressant de tester les perfs des disques montés sur vos machines, je vous conseil d'utiliser screen afin de vous rendre compte de ce que celà donne en temps réel. 3.1 LINUX Sous linux, voici comment l'utiliser sur le disque sda par exemple : iostat > iostat -x sda 1 5 avg-cpu: %user %nice %system %iowait %steal %idle 0,21 0,00 0,29 0,05 0,00 99,45 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %utilsda 0,71 1,25 1,23 0,76 79,29 15,22 47,55 0,01 2,84 0,73 0,14 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 0,00 0,00 0,00 100,00 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0,00 0,00 1,00 0,00 16,00 0,00 16,00 0,00 1,00 1,00 0,10 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 0,00 0,00 0,00 100,00 * -x : mode de statistiques étendues * 1 : Cela signifie que toutes les secondes, iostat va analyser les performances de tous les disques * 5 : Pendant 5 secondes Les premières lignes de la commande iostat donne une moyenne des I/O depuis le boot de la machine. Voici quelques explications sur les colonnes : * r/s : opérations en lecture par seconde * w/s : opérations en écriture par seconde * await : temps d'attente (r/s + w/s) Pour savoir si on a des lectures/écritures séquentielles sur le disque : * rrqm/s : nombre de requêtes mergées par secondes en lecture * wrqm/s : nombre de requêtes mergées par secondes en écriture Plus les lectures sont séquentielles, plus la rapidité sera présente (sur disques non SSD), plus les secteurs seront dispersés, plus l'attente sera longue. Pour tester, voici quelques infos utiles[1] : * Advise to drop cache for whole file dd dd if=ifile iflag=nocache count=0 * Ensure drop cache for whole file dd dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0 * Drop cache for part of file dd dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null * Stream data just using readahead cache dd dd if=ifile of=ofile iflag=nocache oflag=nocache 3.2 SOLARIS Sous Solaris, les commandes sont un petit peu différentes : iostat iostat -xcnCXTdz 1 Pour stresser le disque, nous utiliserons la commande dd qui est une commande de bas niveau : dd dd if=/dev/zero of=/export/home/dd.img bs=10485760 count=100 Et voici un petit script shell qui fait tout pour vous : bench_disk.sh #!/bin/sh # Made by Pierre Mavro echo "What size of file would you like to test (in Mo) ? (ex. 10240 for 10Go) :" read size echo "Choose your requiered device :" df | awk '{ print $1 }' read device echo "" echo "Please enter to confirm : a test_array_file file of $size will be created in $device" read ok echo "" echo "Starting disk bench (Ctrl+C to stop)..." dd if=/dev/zero of=$device/test_array_file bs=1024k count=$size & iostat -nmCxz 1 4 SAR sar est un outil qui va nous permettre de monitorer beaucoup de choses. A l'installation de sysstat, sar va se mettre en crontab pour exécuter régulièrement des sondages placés dans /var/log/sa. Vous pouvez à tout moment changer la crontab par défaut : /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1 # 0 * * * * root /usr/lib64/sa/sa1 -S DISK 600 6 & # Generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib64/sa/sa2 -A Décommentez toutes les lignes ou ajustez selon vos besoins. Pour lire par la suite ces fichiers, utilisez la commande sar comme ceci : sar sar -d -f /var/log/sa/saXX * XX : jour du mois Une petite chose importante avant d'utiliser sar, créez vous un alias dans votre bashrc ou le fichier de préférences pour votre shell favori afin que les heures s'affichent correctement : ~/.zshrc alias sar='LANG=C sar' 4.1 DISQUES Pour monitorer les disques, c'est l'option -d qu'il faut utiliser : sar > sar -d 1 2 13:57:03 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 13:57:04 dev8-16 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:04 dev8-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:04 dev253-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:04 dev253-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:04 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 13:57:05 dev8-16 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:05 dev8-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:05 dev253-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 13:57:05 dev253-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %utilMoyenne : dev8-16 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00Moyenne : dev8-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00Moyenne : dev253-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00Moyenne : dev253-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Comme vous pouvez le voir, les dernières lignes correspondent aux moyennes depuis le boot de la machine. Si les devices des disques ne vous parlent pas trop, vous pouvez utiliser l'option -p : sar > sar -d -p 1 2 14:13:28 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 14:13:29 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:29 sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:29 VolGroup-lv_root 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:29 VolGroup-lv_swap 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:29 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 14:13:30 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:30 sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:30 VolGroup-lv_root 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:13:30 VolGroup-lv_swap 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util Moyenne : sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : VolGroup-lv_root 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : VolGroup-lv_swap 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 4.2 CPU Pour analyser le CPU : sar > sar -u 1 3 14:20:56 CPU %user %nice %system %iowait %steal %idle 14:20:57 all 0,00 0,00 0,00 0,00 0,00 100,00 14:20:58 all 0,00 0,00 0,00 0,00 0,00 100,00 14:20:59 all 0,00 0,00 0,99 0,00 0,00 99,01 Moyenne : all 0,00 0,00 0,33 0,00 0,00 99,67 4.3 MÉMOIRE Pour monitorer la mémoire : sar > sar -r 1 30 Linux 3.2.0-3-amd64 (deb-pmavro) 13/09/2012 _x86_64_ (2 CPU) 18:17:01 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact 18:17:02 275472 3617496 92,92 220604 1635456 4294436 55,08 2053992 1312976 18:17:03 275612 3617356 92,92 220604 1635140 4294136 55,08 2054064 1312708 18:17:04 268048 3624920 93,11 220616 1642852 4302016 55,18 2054192 1320488 18:17:05 276356 3616612 92,90 220616 1634612 4293660 55,07 2054348 1312128 Vous pouvez également utiliser vmstat pour monitorer la mémoire : vmstat > vmstat -n 1 30 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 52600 272952 220800 1636336 0 1 572 587 471 222 19 3 75 3 3 0 52600 272828 220804 1635904 0 0 0 140 2969 6041 16 3 79 2 0 0 52600 275108 220804 1635492 0 0 0 0 3016 6002 18 3 80 0 0 0 52600 274984 220804 1635184 0 0 0 220 2327 4608 14 3 83 0 0 0 52600 277836 220804 1635044 0 0 0 0 2868 5820 24 4 72 0 * free, buff et cache : le nombre de mémoire en KiB qui est idle * si et so : correspondent à l'utilsation de la swap * swpd : la taille en KiB de swap utilisé Pour monitorer le taux de changement : sar > sar -R 1 30 Linux 3.2.0-3-amd64 (deb-pmavro) 13/09/2012 _x86_64_ (2 CPU) 18:18:42 frmpg/s bufpg/s campg/s 18:18:43 -2203,00 0,00 2202,00 18:18:44 713,00 0,00 8,00 18:18:45 -279,00 0,00 404,00 18:18:46 186,00 0,00 -13,00 18:18:47 -93,00 0,00 26,00 18:18:48 -155,00 2,00 -18,00 18:18:49 62,00 0,00 -44,00 4.4 SWAP Pour analyser la swap : sar > sar -W 1 3 14:22:10 pswpin/s pswpout/s 14:22:11 0,00 0,00 14:22:12 0,00 0,00 14:22:13 0,00 0,00 Moyenne : 0,00 0,00 4.5 NETWORK Pour une analyse réseaux : sar > sar -n DEV 1 2 14:23:47 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 14:23:48 lo 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:23:48 eth0 1,00 1,00 0,06 0,17 0,00 0,00 0,00 14:23:48 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 14:23:49 lo 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14:23:49 eth0 2,00 1,00 0,12 0,38 0,00 0,00 1,00 Moyenne : IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s Moyenne : lo 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Moyenne : eth0 1,50 1,00 0,09 0,28 0,00 0,00 0,50 4.6 LES IO Pour monitorer tous les IO : sar > sar -B 1 30 Linux 3.2.0-3-amd64 (deb-pmavro) 13/09/2012 _x86_64_ (2 CPU) 18:19:33 pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff 18:19:34 0,00 0,00 106,00 0,00 3105,00 0,00 0,00 0,00 0,00 18:19:35 0,00 0,00 58,00 0,00 1567,00 0,00 0,00 0,00 0,00 18:19:36 0,00 0,00 82,00 0,00 1039,00 0,00 0,00 0,00 0,00 18:19:37 0,00 0,00 205,00 0,00 1530,00 0,00 0,00 0,00 0,00 18:19:38 0,00 44,00 131,00 0,00 1192,00 0,00 0,00 0,00 0,00 4.7 LES PROCESSUS Il est possible via la commande pidstat d'obtenir beaucoup d'informations sur un processus ne particulier : pidstat > pidstat -p 2365 1 50 Linux 3.2.0-4-amd64 (ZG020194) 05/07/2013 _x86_64_ (2 CPU) 02:12:57 PM PID %usr %system %guest %CPU CPU Command 02:12:58 PM 2365 1.00 0.00 0.00 1.00 0 awesome 02:12:59 PM 2365 0.00 0.00 0.00 0.00 0 awesome 02:13:00 PM 2365 0.00 1.00 0.00 1.00 0 awesome Il est également possible de monitorer les IO (-d) ou encore le top 5 des processus en pagefault : pidstat > pidstat -T CHILD -r 2 5 Linux 3.2.0-4-amd64 (ZG020194) 05/07/2013 _x86_64_ (2 CPU) 02:16:02 PM PID minflt-nr majflt-nr Command 02:16:04 PM 2252 1 0 VBoxService 02:16:04 PM 2365 50 0 awesome 02:16:04 PM 4938 7 0 firefox 02:16:04 PM 5051 171 0 pidstat 5 FAQ 5.1 SAR: CAN'T OPEN /VAR/ADM/SA/SAXX : NO SUCH FILE OR DIRECTORY Vous désirez, sous Solaris, utiliser la commande "sar" afin d'effectuer du monitoring ou de l'analyse de performance sur votre serveur, mais quand vous exécutez la commande, vous obtenez une erreur semblable à la suivante : sar: can't open /var/adm/sa/saXX : No such file or directory La réponse se trouve dans le manpage de "sadc". Vous devez exécuter la commande suivante, et vous devriez être en mesure d'exécuter la commande sans problème, après avoir exécuté ceci : sadc su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`" 6 RESSOURCES http://www.cyberciti.biz/open-source/command-line-hacks/linux-monitor-process-using-pidstat/ 1. ^ http://comments.gmane.org/gmane.comp.gnu.coreutils.general/904 Retrieved from "https://wiki.deimos.fr/index.php?title=Sysstat_:_Des_outils_indispensable_pour_analyser_des_problèmes_de_performances&oldid=12914" Categories: * Solaris * Linux NAVIGATION MENU PERSONAL TOOLS * Log in NAMESPACES * Page VARIANTS VIEWS * Read * View source * View history MORE SEARCH NAVIGATION ET RSS * cd ~ MENU * Solaris * BSD * Linux * Mac OS X * Windows * Servers * Development * Ethical Hacking * Network * Divers LIENS * Welcome Page * Blog * Resume * GitHub GOOGLE SEARCH TRANSLATE TOOLS * What links here * Related changes * Special pages * Printable version * Permanent link * Page information * This page was last modified on 24 August 2013, at 12:57. * Content is available under Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé unless otherwise noted. * Privacy policy * About Deimos.fr / Bloc Notes Informatique * Disclaimers * *