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

Développement de jobs Discussion :

[TOS] - Performance insertion des données en base locale et serveur distant


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut [TOS] - Performance insertion des données en base locale et serveur distant
    Bonjour,


    J'utilise TOS 5.4.
    Le SGBD a base de données est du Postgresql.

    J'ai un flux qui update/insert (composant tPostgresql_output) des données dans une table à partir d'un fichier csv. Aucune transformation entre la source et la destination.
    Quand j'exécute le job en local (job et bd sur mon poste), je tourne à plus de 1000 - 1500 lignes/sec
    Quand j'exécute le job en local avec un BD sur un serveur, je tourne à plus de 150 - 250 lignes/sec

    Pourquoi un tel écart ?
    Comment faire pour améliorer les performances de la 2ème solution ?


    (j'ai hésité à poster mon message dans la section postgresql...)


    Je vous remercie par avance,

    mighty nag

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Lancer ton job depuis le serveur qui héberge la base de données.
    Tu auras moins de communications réseaux
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Je ne peux pas...

  4. #4
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Peux-être que tu peux optimiser ton job mais sans info supplémentaire on ne peut pas t'aider
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Je suppose que tu as coché "update ou insert" sur le composant tPostgresqlOutput. Cette option est par défaut pas performante et je suis mème étonné que tu arrives a un 1000 row/seconde en local ( peut être un faible nombre d'enregistrement )

    Je te conseil de passer par 2 flux : 1 flux pour les insert et 1 flux pour les updates. La différence est l'utilisation du batchsize ( taille des lots ) qui permet d'optimiser l'envoie des données a la base.


    autre piste : vérifie que tu as bien un index en Dev, on ne sait jamais ...

Discussions similaires

  1. nouveau problême d'insertion des données dans la base de données
    Par tchimou dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/03/2007, 15h32
  2. Insertion des données du formulaire dans la base
    Par bebas dans le forum Langage
    Réponses: 9
    Dernier message: 23/02/2007, 12h03
  3. [MySQL] insertion des données dans la base
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/02/2007, 11h10
  4. insertion des données d'un fichier word dans une base de données
    Par pigeon015 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/02/2007, 09h04
  5. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17

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