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

Access Discussion :

Lenteurs réseaux à partir de plus de 2 postes ouverts


Sujet :

Access

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut Lenteurs réseaux à partir de plus de 2 postes ouverts
    Bonjour,

    J'ai une application avec table fractionnée en réseau.

    J'ai mis en place toutes les améliorations possibles pour l'utilisation d'access en réseau. (ouverture permanente du recordset...)

    L'une de mes tables a 250.000 écritures.

    Lorsque j'utilise Access sur un poste en réseau tout fonctionne avec une vitesse normale.

    Dès que j'ouvre un second poste, je perd 10x les performances...

    Bizarrement, si je ferme l'application de l'un des deux postes, mes performances restent mauvaises.
    Il faut que je ferme toutes les applications de tous les postes, et en reouvre uniquement une pour que mes performances reviennent.

    J'ai donc l'impression que mon problème vient d'un verrouillage, mais je ne sais pas à quel niveau.

    Je précise que j'ai essayé en mode déverouillé, vérouillage par default, verrouillage général et sur enregistrement vérouillé.

    Merci pour votre aide, voila un mois que je cherche sans succès.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 589
    Points
    24 589
    Par défaut
    Bonjour,

    Complexe de donner une solution vu tous les paramètres qui rentrent en compte.

    Consulte le tuto sur l'optimisation des performances. C'est sur ma page perso.

    Tu trouveras surement ce qui pèche. Si tu as toujours des problèmes revient vers le forum. Mais avec plus d'info cette fois.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Je viens de visiter ta page, mais j'ai hélas procéder déja à toutes ces optimisations.

    Mes lenteurs semblent venir du fait que ma table ait 250.000 et que leur parcours se retrouve très lent, si un autre utilisateur a déja "verrouillé" une ligne de cette table.

    Le plus bizarre, c'est que si le premier utilisateur ferme sa connexion, le second reste lent.

    Obligation que les 2 utilisateurs ferment, pour repartir sur de bonnes performances.

    Les utilisateurs se connecte sans compte, c'est à dire qu'il n'y a pas de ".mdw", est ce que cela pourrait jouer sur le problème ?

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Est ce que les différents utilisateurs ouvrent la même base de données ou est ce que chaque utilisateur à sa propre base frontale sur son poste lièe à la base réseau ?

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Chaque utilisateur a sa base frontale sur son poste, avec requetes, forms, états et VBA, et se connectent tous à une seule base avec tables uniquement.
    Les tables sont reliées à leur base frontale stocké sur leur ordinateur.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 589
    Points
    24 589
    Par défaut
    Citation Envoyé par hugo69 Voir le message
    Les utilisateurs se connecte sans compte, c'est à dire qu'il n'y a pas de ".mdw", est ce que cela pourrait jouer sur le problème ?
    Non. De toute façon le mdw est toujours acctif même s'il n'est pas paramétré.

    Que donne les tests de Jet et ISAMstat ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Je n'ai pas effectué ces test.

    Comment faire les test pour Jet?

    Pour ISAM, je pars la dessus ? http://bytes.com/topic/access/insigh...amstats-method

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 589
    Points
    24 589
    Par défaut
    Il me semblait que tu avais lu le tuto et que tu avais déjà fait tout ce qu'il a dedans... Tu as surement raté/oublié ces 2 gros chapitres...
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Le ISAMStats me donne des résultats comparables, quand ca fonctionne bien avec 1 seul poste, et quand il y en a plusieurs qui sont ouverts sur la BDD.

    Soit:

    DiskRead: Entre 6500 et 9200
    DiskWrite: Entre 3880 et 4082
    CacheRead Autour de 1250000
    CacheReadAheadCache: Entre 6388 et 8800
    LocksPlaced: 13
    LocksReleased: 13

    Ces informations valent pour l'ouverture d'un formulaire, sur lequel il y a pas mal de requete.
    Je lance les stats à la demande d'ouverture et j'arrete quand c'est charger.


    Quand au fichier showplan.out, qui est très long, il y a des requetes qui font appel à Rushmore, mais pas toutes. Mais Je ne vois par trop en quoi cela peux m'aider, puisque le problème ne vient pas des requetes, qui fonctionnent assez bien quand il y a un seul poste, et qui ralentisse de 10 fois, dès le second poste connecté.

    Merci ton aide.

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 589
    Points
    24 589
    Par défaut
    Avec quoi tu partage ta base de données ?
    Ton réseau est a quelle vitesse ?
    Y a t-il des colisions lorsque tu utilises plusieurs postes ?
    2 postes ouverts : toujours les mêmes ou peu importe lesquels et dans quel ordre ils le sont ?
    Tes requetes rammenent combien d'enregistrements sur ce formulaire ?
    Combien de requetes dans ce formulaire et combien il recupère d'enregistrement au total ?
    Tes enregistrements ont quelles longueurs ?
    Tu as compacté récemment la base partagée ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  11. #11
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Avec quoi tu partage ta base de données ? Un PC assez puissant sur WIN7. (J'ai fait le test avec d'autres ordinateurs également)
    Ton réseau est a quelle vitesse ? (1GO sur le PC serveur et 100 sur le reste)
    Y a t-il des colisions lorsque tu utilises plusieurs postes ? Non
    2 postes ouverts : toujours les mêmes ou peu importe lesquels et dans quel ordre ils le sont ? N'importe quel ordre
    Tes requetes rammenent combien d'enregistrements sur ce formulaire ? (Entre 2 et 20)

    Tes enregistrements ont quelles longueurs ? Quelques colonnes
    Tu as compacté récemment la base partagée ? oui


    Combien de requetes dans ce formulaire et combien il recupère d'enregistrement au total ?

    Après avoir testé dans plusieurs environnements PC et réseau, je sais que le problème vient d'une requete.
    Apparement, c'est quand il ouvre les tables liées, et qu'il pose ses verrous dessus, c'est ca le délai qui est long, si un autre utilisateur a fait la même chose.
    La requete est assez hallucinante. La structure de la base est très atypique. Elle est verticale. C'est à dire que j'ai une base un peu dans ce type:
    http://sqlpro.developpez.com/cours/m...n/metadonnees/

    Il y a moins de 7 bases. Une qui définie "les tables", "les champs", "les valeurs".... On a donc une même table qui est jointe à elle même... Si on fait ca avec un seul utilisateur, ca va, mais sinon, j'ai l'impression que le temps qu'il pose ses verrous, dans le cas de plusieurs utilisateurs, la ca pose souci.

    Juste pour te donner une idée de la table: ne pas faire un bond en arrière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT entite.idEntite, entite.parametreEnt, parametre_2.parametreInt AS quantite, parametre_1.parametreDec AS tarif, parametre.parametreInt AS reference, base.libelleBase AS couleur, Round([quantite]*[tarif],2) AS total, entite.dateEntite, base_2.parametreBaseTxt AS groupe, base_2.libelleBase AS groupe_libelle, base_1.libelleBase AS modele, base_3.libelleBase AS textile, entite_1.idEntite AS idProduit, critere.idBase AS idCouleur
     
    FROM (((entite INNER JOIN parametre AS parametre_2 ON entite.idEntite = parametre_2.idEntite) INNER JOIN (base AS base_3 RIGHT JOIN (((base AS base_1 LEFT JOIN base AS base_2 ON base_1.parametreBaseInt = base_2.idBase) RIGHT JOIN ((parametre LEFT JOIN entite AS entite_1 ON parametre.parametreInt = entite_1.idEntite) LEFT JOIN critere AS critere_1 ON entite_1.idEntite = critere_1.idEntite) ON base_1.idBase = critere_1.idBase) LEFT JOIN critere AS critere_2 ON entite_1.idEntite = critere_2.idEntite) ON base_3.idBase = critere_2.idBase) ON entite.idEntite = parametre.idEntite) LEFT JOIN (base RIGHT JOIN critere ON base.idBase = critere.idBase) ON entite.idEntite = critere.idEntite) LEFT JOIN parametre AS parametre_1 ON entite.idEntite = parametre_1.idEntite
     
    WHERE (((entite.idEntiteType)=5) AND ((parametre.idParamType)=27) AND ((parametre_2.idParamType)=28) AND ((parametre_1.idParamType)=29) AND ((critere.idRubrique)=3 Or (critere.idRubrique) Is Null) AND ((nz([critere_1].[idRubrique],2))=2) AND ((nz([critere_2].[idRubrique],1))=1));

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 589
    Points
    24 589
    Par défaut
    Donc ça tourne à 100mb/s.

    - as-tu essayer de découper la requete en sous-requete ?
    - Pour accélerer tu peux également mettre le filtre de chaque cotés des jointures.

    - Lorsque les champs servant de clefs de relation contiennent des valeurs Null l'optimisation ne se fait pas.

    [EDIT]- Comment sont réglés le verrouillage par défaut de tes clients ?

    Peut-être que tu auras moins de problème avec SQL Server.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/10/2007, 10h45
  2. réseaux ne marche plus avec numéricable
    Par yvan13010 dans le forum Hardware
    Réponses: 2
    Dernier message: 19/09/2006, 15h03
  3. Réponses: 7
    Dernier message: 02/08/2006, 11h32
  4. [lenteur réseaux] port 88 88 lenteur
    Par chouchou93 dans le forum Développement
    Réponses: 1
    Dernier message: 01/06/2006, 23h49
  5. Lenteur réseaux sous windows 2000 pro et serveur
    Par FilipeVV dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 31/05/2006, 13h42

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