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

Administration et Installation Discussion :

Améliorer les performances - très (très) (très) grands datasets


Sujet :

Administration et Installation

  1. #1
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut Améliorer les performances - très (très) (très) grands datasets
    Bonjour,

    Je ne sais pas si je poste dans le bon forum ...

    Je voulais savoir s'il y avait un moyen simple et rapide (ben quoi, non, j'en demande pas trop ) d'optimiser les performances quand je lance mes programmes.

    J'ai des datasets de plusieurs dizaines de milliers de lignes.
    J'ai plusieurs programmes à faire tourner dessus.

    On va partir du principe que la programmation est nickel et que rien ne peut y être modifiée. Par contre, on peut rajouter du code.

    Pour le moment, l'ensemble des programmes prend plus d'un week end ...

    Peut on améliorer les performances:
    1. en ayant sas installé en local mais avec les sorties ods rtf sur le serveur
    2. en ayant sas installé sur le serveur et avec les sorties ods rtf sur le serveur

    Les performances sont elles dues à la place de mémoire vive ?
    Désactivez l'antivirus pendant l'exécution serait il une première étape ?
    J'ai vu parler de buffer sur le net, en quoi ça consiste ?

    Bref, j'ai besoin de trouver un moyen pour que le pc ne chauffe pas trop mais svp, ne me dites pas de me racheter un pc, je vais me faire jeter par le service info

    Merci pour vos conseils.

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Des pistes "sas" :
    - rajouter les options nonotes, nosource, nomprint, nomlogic, nosymbolgen...
    - ne pas éditer les résultats dans l'output s'ils sont édités dans un ods rtf
    - fermer l'explorateur de sas (surtout s'il est ouvert sur la work)
    - accélérer l'affichage log et output avec : dm "log; autoscroll 0; output; autoscroll 0" log ;
    - activer/désactiver la compression de base

    Sur les buffersize et autres options assimilées, j'avais commencé à regarder mais je me suis vite découragé face à la complexité des paramétrages

    Sur les aspects matériel et logiciels, pas de compétence, pas d'avis

    Pour tester les performances, afficher les tps de traitement totaux avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %let TIME = %sysfunc(TIME()) ;
    /*PGM*/
    %put Processing time : %sysfunc(putn(%sysevalf(%sysfunc(TIME())-&MACRO_TIME.),mmss.)) (mm:ss) ;

  3. #3
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    Bonsoir,

    Merci pour ta réponse.

    Je faisais l'option des nonotes dans la log que je redirige dans un fichier txt et je fermais toutes mes fenetres.

    Je vais ajouter tes autres options. ça fera toujours gagner du temps.

    Merci !

    Ceci étant dit, je ne mets pas le topic résolu si jamais il y a d'autres personnes qui veulent venir partager leurs trucs & astuces

    J'ai vu en surfant sur le net que quand on cherche sas+amélioration performance, on tombe souvent sur le module mp connect, que je n'ai pas ... c'est pour lancer des processus en parallèles. S'il y en a qui l'ont testé et chez qui ça a vraiment marché, merci de le dire, p'tet que j'arriverai à convaincre l'admin IT de la société ...

  4. #4
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Tu peux peut-être trouver des éléments de réponse dans ce très bon doc pdf sur la performance
    http://support.sas.com/resources/pap...9/040-2009.pdf

  5. #5
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    Salut !

    Je suis de retour sur le forum.

    Merci Rémi pour ce lien.

    Bon week end.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Japon

    Informations forums :
    Inscription : Janvier 2008
    Messages : 36
    Points : 331
    Points
    331
    Par défaut
    Bonsoir,

    Peut être paralléliser au max en utilisant MPCONNECT

  7. #7
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 372
    Points
    372
    Par défaut
    Citation Envoyé par debdev Voir le message
    Bonjour,


    J'ai des datasets de plusieurs dizaines de milliers de lignes.
    J'ai plusieurs programmes à faire tourner dessus.

    On va partir du principe que la programmation est nickel et que rien ne peut y être modifiée. Par contre, on peut rajouter du code.
    Bonjour,

    En partant du principe inverse (les programmes sont mal conçus ) tu peux gagner beaucoup de temps en suivant ces principes de winner :


    1. éviter de faire 40 étapes data successives là où une suffit.
    2. si tu ne peux pas éviter les étapes intermédiaires, limiter la taille des tables en ne gardant que les variables et observations indispensables et en attribuant aux variables des longueurs de stockage minimales (length).
    4. Ne pas hésiter à utiliser la proc sql pour les jointures si ça peut éviter un duo proc sort + datastep.

    Après tout dépend de ton degré d'exigence quant à la rapidité.

    A bientôt !

Discussions similaires

  1. Améliorer les performances d'Hibernate
    Par minimarch76 dans le forum Persistance des données
    Réponses: 4
    Dernier message: 22/08/2007, 10h01
  2. Optimisation de jsp pour améliorer les performances
    Par djuddju dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/12/2006, 05h50
  3. Réponses: 2
    Dernier message: 01/08/2006, 10h20
  4. [IW][D7] améliorer les performances
    Par Magnus dans le forum Bases de données
    Réponses: 19
    Dernier message: 11/10/2005, 20h46

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