IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Tester performances système


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Points : 50
    Points
    50
    Par défaut Tester performances système
    Bonjour,

    Je dispose d'un PC avec pour système d'exploitation SUSE 9.0.
    J'ai réalisé une application utilisant des scripts shell, des scripts PERL, et la création d'une BD avec PostgreSQL (creation, accès pour remplissage, accès pour exports).

    Je voudrais tester les performances de cette application, pour savoir quelles sont les opérations qui me prennent le plus de temps et commencer une phase d'optimisation (je sais déjà qu'il va falloir que j'améliore certaines choses).

    Etant novice en système (ma spécialité étant plus le dévelloppement d'applications), je voudrais savoir si vous connaissez des outils permetant de visualiser les utilisations mémoires, charge CPU et tout ce que je ne connais pas qui a un rapport avec les performances du système lors du lancement de mon application.

    J'ai trouvé des petits scripts permetant de voir certaines performances, mais c'était très global et non adapté à mon application.

    Si vous pouviez m'aiguillez un peu...

    Merci d'avance
    Mat

  2. #2
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    Tu peux utiliser les commandes top et vmstat pour voir les consommations cpu et mémoires en temps réel.

    qui t'affichera les consommation à l'instant T.
    Sinon il y a aussi sar, qui est pas mal et te permet d'avoir un suivit des charges de ta machine.

    Voila il y en a certainement d'autre aussi. Mais ca peut déjà d'aider un peu :-).

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    ce que tu peux faire c'est regarder pour le processus postgres par exemple son numero et /proc/lenumero/
    il y a pleins de fichiers l'espace memoire de l'appli la liste des fichiers ouvert par l'application la charge cpu la ligne de commande generee etc...etc...

    un exemple sur suse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    TEST_FRP31:~/Desktop # ps -ef | grep pickup
    postfix   3489  5180  0 20:52 ?        00:00:00 pickup -l -t fifo -u
    TEST_FRP31:~/Desktop # cd /proc/3489
    TEST_FRP31:/proc/3489 # ls
    .   attr  cmdline  environ  fd        maps  mounts   oom_score  seccomp  statm   task
    ..  auxv  cwd      exe      loginuid  mem   oom_adj  root       stat     status  wchan
    TEST_FRP31:/proc/3489 # ls -l fd/
    total 8
    dr-x------  2 root    root     0 Jun 18 22:02 .
    dr-xr-xr-x  5 postfix postfix  0 Jun 18 21:30 ..
    lrwx------  1 root    root    64 Jun 18 22:02 0 -> /dev/null
    lrwx------  1 root    root    64 Jun 18 22:02 1 -> /dev/null
    lrwx------  1 root    root    64 Jun 18 22:02 2 -> /dev/null
    lr-x------  1 root    root    64 Jun 18 22:02 3 -> pipe:[12172]
    l-wx------  1 root    root    64 Jun 18 22:02 4 -> pipe:[12172]
    lrwx------  1 root    root    64 Jun 18 22:02 5 -> socket:[87169]
    lrwx------  1 root    root    64 Jun 18 22:02 6 -> /var/spool/postfix/public/pickup
    lrwx------  1 root    root    64 Jun 18 22:02 7 -> socket:[741683]
    TEST_FRP31:/proc/3489 #  cat status
    Name:   pickup
    State:  S (sleeping)
    SleepAVG:       95%
    Tgid:   3489
    Pid:    3489
    PPid:   5180
    TracerPid:      0
    Uid:    51      51      51      51
    Gid:    51      51      51      51
    FDSize: 256
    Groups: 51
    VmSize:     5108 kB
    VmLck:         0 kB
    VmRSS:      1556 kB
    VmData:      200 kB
    VmStk:        88 kB
    VmExe:         8 kB
    VmLib:      4536 kB
    VmPTE:        16 kB
    Threads:        1
    SigQ:   0/4095
    SigPnd: 0000000000000000
    ShdPnd: 0000000000000000
    SigBlk: 0000000000000000
    SigIgn: 0000000001001000
    SigCgt: 0000000180002000
    CapInh: 0000000000000000
    CapPrm: 0000000000000000
    CapEff: 0000000000000000
    TEST_FRP31:/proc/3489 #
    par exemple la c'est a l'instant T ce processus utilises 200Kb de datas, il est dormant 95% du temps, il gere 4Mo de memoire en tout pour lui meme, il utilises le socket 87169, etc...etc...

    apres faut faire de l'analyse automatisee et de la mise en forme mais c'est le meilleur moyen de connaitre le status d'une machine

    si tu te contente de la racine de /proc tu as une vue globale au lieu d'une vue d'un seul processus.

  4. #4
    Membre du Club Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Points : 50
    Points
    50
    Par défaut
    Merci pour ces rensignements, mais je cherche quelquechose un peu différent.

    J'ai dévelloppé une application qui effectue énormément d'opérations (appels de scripts, création BD, lecture de fichiers binaire, génération de fichiers ASCII, remplissage BD, opérations sur la BD [update, export]). Nous appellerons cela une "GENERATION".

    Je génère des fichiers de log, dont 1 qui me sert à analyser les performances en fin de génération. Je lis ce fichier et génère un fichier html avec un tableau résumant les perf de chaque script (dans l'idée).

    Pour le moment, je fais un TIME à chaque appel et j'obtiens les temps d'éxécution de chaque script.

    J'aimerai obtenir la charge CPU moyenne, et les utilisations mémoires au cours de ces étapes et les écrire dans mon fichier de log au fur et à mesure.

    Ayant peu de connaissance ce genre de travail (évaluation des performances), j'aimerai savoir si vous connaissez des commandes me permettant d'écrire dans mon fichier de log les performances basiques du système.

    Merci d'avance

    Mat

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    tu veux réécrire top, en gros....

    Alors une seule solution.. Tu vas chercher le code source dans le kernel...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    http://www.ibm.com/developerworks/ai...u-analyze_aix/

    Fonctionne aussi sous Linux ! Y a rien de mieux je trouve
    Grave urgent !!!

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    peut-être, oui, mais ça ne correspond pas à ce qui était demandé (en fait c'est un top plus perfectionné).

    le PO ne veut pas un OUTIL (obligé de faire une commande, puis d'exploiter la sortie), mais une série de FONCTIONS (enfin, si j'ai bien compris ) à être appelées depuis le programme central, et produire à partir de là les données pour TEL programme..

    Il est bien évident que si c'est l'outil, que ce soit avec ce que tu donnes ou top, il suffit de faire "outil | grep nom_du_processus_desire >> sortie_texte" et on aura tout ce qui faut...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. Tester un système d'équations
    Par weirstrass dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/05/2015, 20h25
  2. Réponses: 3
    Dernier message: 16/10/2005, 13h43
  3. Réponses: 4
    Dernier message: 20/05/2004, 01h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo