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

Bases de données Delphi Discussion :

Lenteur et acces concurrent


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut Lenteur et acces concurrent
    J'ai un programme développé en Delphi 6 utilisant des tables Paradox, et donc le BDE pour y accéder.

    Ce programme fonctionne enréseau, donc avec plusieurs utilisateurs simultanés.

    Lorsqu'un premier utilisateur entre dans une saisie, le temps mis pour insérer une nouvelle ligne dans une table (y compris des vérifications) est correct : quelques secondes.

    Lorsqu'un deuxième utilisateur fait la même opération sur son poste (le premier étant toujours en saisie), le même temps pour valider une ligne est alors de plus d'une minute !

    Quelqu'un connait-il l'origine de ce problème, et donc un début de solution ?

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 43
    Points : 52
    Points
    52
    Par défaut
    Les postes clients et le serveur sont-ils sur Windows NT ?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Les postes client et le serveur ne sont pas forcément sous windows NT. Le logiciel est implanté chez plusieurs clients, qui ont des configurations différentes, on trouve donc toutes les versions de windows, de W98 à Wxp, avec parfois des serveurs WTSE.

    Pourquoi la question ? Existe-t-il une solution spécifique avec Windows NT ?

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 43
    Points : 52
    Points
    52
    Par défaut
    Lorsque j'ai travaillé il y a quelques temps dans une grande banque parisienne, nous avons ce problème : la première utilisation d'une base Paradox fonctionnait très bien. Mais à partir d'une deuxième connexion, tout s'effondrait : les temps d'attente étant multipliés par dix à peu près. Après des semaines de recherches, la solution trouvée était la suivante :
    - les poste clients étaient sous NT4 SP6.
    - le poste serveur, où était stockée la base, était en NT4 mais SP4 je crois (en tout cas inférieur au SP6).
    En tout cas, entre clients et serveur ce n'était pas le même système d'exploitation. Après mise à jour du serveur avec le SP6, tout est rentré dans l'ordre.
    C'était très vicieux en tout cas. Voila le pourquoi de ma question sur le système d'exploitation utilisé.

    Je ne sais pas si ca va t'ouvrir des pistes de recherches.
    Mais je peux te dire que ce bug nous avait causé de sérieux problèmes.
    Le mieux à faire est de changer de serveur : essaie d'installer ta base sur un poste client à coté de toi. Et essaie de déterminer si ca vient alors de ton appli ou de l'installation de la base sur un poste particulier.
    Moi je sais qu'en ayant installé la base sur un autre serveur (poste client de test quoi), ca fonctionnait. Donc il y avait différence entre le serveur de prod et notre poste de test.

    Voila. Bon courage.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Oui, c'est en effet une piste, parmi tant d'autres !
    A vérifier chez les clients qui se plaignent de lenteur....

    Parmi les autres pistes possibles, j'ai sélectionné :
    - taille de l'exe (il fait pres de 13 Mo !)
    - taille des données (chez le client qui se plaint le plus, on atteint toutes tables confondues, avec les index, 300 Mo)
    - configuration du BDE (j'ai lu d'autres questions sur ce forum à ce sujet)

    Quelqu'un aurait-il d'autres suggestions ?

  6. #6
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Le BDE à lui seul est déjà une cause de lenteur et Paradox est loin d'être une base de données adaptée pour des accès concurrents (comme la plupart des bases fichiers)
    7 fois à terre, 8 fois debout

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Tu as raison Higgins, je connais ce problème ! Malheureusement, changer de base de données, impliquerait une réécriture complète de l'applciation, c'est à dire plusieurs mois de boulot !

    Cette réécriture est envisagée, mais dans un avenir plus lointain....

    Là je cherche une solution plus immédiate, qui risque fort de ne pas être miraculeuse.

  8. #8
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    salut
    pour qoi pas séparer tes champs de la base utilise des composant simle:Tedit,Tcombobox,....; cest plus de travail mais comme sa la base sera libre que le tempde lecture et ecriture
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gérer les accès concurrents
    Par Royd938 dans le forum Langage
    Réponses: 1
    Dernier message: 19/10/2005, 11h27
  2. accés concurrent à une table
    Par shout dans le forum Oracle
    Réponses: 5
    Dernier message: 06/10/2005, 10h54
  3. Réponses: 22
    Dernier message: 25/08/2005, 16h03
  4. acces concurrent avec delphi 5 entreprise
    Par Jean_paul dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/11/2004, 20h19
  5. [EJB] Accès concurrents à la base de données
    Par cameleon2002 dans le forum Java EE
    Réponses: 10
    Dernier message: 23/09/2003, 11h31

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