[WD14] Hajoute qui rends la main après 1m30

14 réponses
Avatar
Fredo
Bonjour,

Sur un réseau constitué des 5 postes en xp SP3 (TPV Toshiba-TEC STA10)
avec un poste "serveur" (pc bureautique XP SP3)

De façon aléatoire (une à deux fois par jour maximum et pas tous les
jours) mon application se fige. En analysant les logs (dbactivelog) il
s'avère que la fonction hajoute(monficher,hblocageecriture) rends la
main au bout de 1 minutes 30 au lieu de quelques millisecondes. Vu que
je tente cet ajout plusieurs fois avant de déclencher une erreur, cela
provoque un gros blocage (qui oblige à redémarrer un ou plusieurs poste)

Une fois le poste qui provoque le ralentissement éteint, l'application
recommence à fonctionner sur les autres postes (encore faut-il savoir
lequel est incriminé et le redémarrer en 1er)

Je viens de terminer de migrer mon application en client serveur afin de
résoudre le problème si celui-ci est lié au mode classic mais j'aurais
aimé etre sur de la cause du problème avant de passer en C/S.

L'application en elle même est utilisée à plusieurs milliers
d'exemplaire (8000 postes environ) en classic et c'est la 1ere fois que
nous rencontrons le problème.

Il y avait des problèmes d'index corrompu sur le site mais le câblage a
été entièrement refait et depuis plus de problèmes de ce type.

Auriez vous un retour sur ce type de problème ?

Nous allons tenter de provoquer l'erreur en surchargeant le réseau (qui
ne l'est pas en situation normale) et de monitorer le réseau avec wireshark.

Je suis preneur de tout idée qui me permettrait de mettre le doigt sur
la cause de ce ralentissement.

Dernière info, le site étant isolé (pas d'internet et pas de lecteur de
disque / Cd) il n'y a pas d'antivirus actif.

Merci d'avance,

Fred

10 réponses

1 2
Avatar
Emmanuel Haefelé
"Fredo" a écrit :

Bonjour Fredo,

De façon aléatoire (une à deux fois par jour maximum et pas tous les
jours) mon application se fige. En analysant les logs (dbactivelog) il
s'avère que la fonction hajoute(monficher,hblocageecriture) rends la
main au bout de 1 minutes 30 au lieu de quelques millisecondes.



Est-ce que l'option hblocageecriture est vraiment nécessaire, tu veux
maintenir l'enregistrement bloqué après l'ajout ?

L'application en elle même est utilisée à plusieurs milliers
d'exemplaire (8000 postes environ) en classic et c'est la 1ere fois que
nous rencontrons le problème.



Mono-postes pour la plupart ou plutôt multi-postes ?

Il y avait des problèmes d'index corrompu sur le site mais le câblage a
été entièrement refait et depuis plus de problèmes de ce type.



Nous n'utilisons jamais l'option hblocageecriture sur la fonction hajoute
et généralement avec ce type de problème chez nous hAjoute rend la main.
Est-ce que tu testes le resultat de hajoute et s'il n'y arrive pas tu
retentes ?


Cordialement,

Emmanuel Haefelé.
Avatar
tt
Le Thu, 27 Oct 2011 09:02:41 +0200, Fredo a
écrit:

Bonjour,

Sur un réseau constitué des 5 postes en xp SP3 (TPV Toshiba-TEC ST A10)
avec un poste "serveur" (pc bureautique XP SP3)

De façon aléatoire (une à deux fois par jour maximum et pas tous les
jours) mon application se fige. En analysant les logs (dbactivelog) il
s'avère que la fonction hajoute(monficher,hblocageecriture) rends la
main au bout de 1 minutes 30 au lieu de quelques millisecondes. Vu que
je tente cet ajout plusieurs fois avant de déclencher une erreur, ce la
provoque un gros blocage (qui oblige à redémarrer un ou plusieurs poste)

Une fois le poste qui provoque le ralentissement éteint, l'applicati on
recommence à fonctionner sur les autres postes (encore faut-il savoi r
lequel est incriminé et le redémarrer en 1er)

Je viens de terminer de migrer mon application en client serveur afin de
résoudre le problème si celui-ci est lié au mode classic mais j' aurais
aimé etre sur de la cause du problème avant de passer en C/S.


[...]

Fred



Bonjour,

Je dois avoir dans mes notes, quelque part, des choses à faire sur les
répertoires partagés des fichiers
de données WD (notamment sur les Optimistic Locks du protocole SMB). S i
cela t'intéresse, je peux le rechercher.

--
TT
Avatar
Emmanuel Haefelé
"Emmanuel Haefelé" a écrit

Nous n'utilisons jamais l'option hblocageecriture sur la fonction
hajoute et généralement avec ce type de problème chez nous hAjoute rend
la main. Est-ce que tu testes le resultat de hajoute et s'il n'y arrive
pas tu retentes ?



En relisant ton mail, tu indiques que hajoute te rend la main au bout d'1
minute 30, je suppose donc que tu n'as pas une gestion personalisée des
blocages comme chez nous. Donc on pourrait en conclure qu'effectivement ça
pourrait encore être un problème de cablage. Si ce contexte est avéré,
passer en mode C/S pourrait donc régler certains problèmes mais sans doute
pas la totalité. Tu n'auras plus de blocage mais sans doute d'autres
erreurs liées à la communication entre le serveur et le poste.


Cordialement,

Emmanuel Haefelé.
Avatar
Emmanuel Haefelé
"Emmanuel Haefelé" a écrit

Si ce contexte est avéré, passer en mode C/S pourrait donc régler
certains problèmes mais sans doute pas la totalité. Tu n'auras plus de
blocage mais sans doute d'autres erreurs liées à la communication entre
le serveur et le poste.



Ton problème m'intéresse, j'ai fait quelques recherches dans mes logs car
de notre côté nous traçons ce genre d'erreur. Déjà elles sont très rare
mais que ce soit en classic ou en C/S nous avons malgré tout ces erreurs
que nous appellons chez nous des erreurs de time out. Donc ce que je t'ai
dit plus haut n'est peut-être pas tout à fait exact même si nous
constatons qu'il y en a plus en classic qu'en C/S.

Voila ce que je peux te dire, donc si c'est ça il faut regarder du côté
des cartes réseaux, switch ou du cablage. Mais regarde quand même si
l'option hblocageecriture est vraiment nécessaire dans ton contexte, ça me
parait un peu particulier.


Cordialement,

Emmanuel Haefelé.
Avatar
Fredo
Le 27/10/2011 10:52, Emmanuel Haefelé a écrit :
"Emmanuel Haefelé" a écrit

Si ce contexte est avéré, passer en mode C/S pourrait donc régler
certains problèmes mais sans doute pas la totalité. Tu n'auras plus de
blocage mais sans doute d'autres erreurs liées à la communication entre
le serveur et le poste.



Ton problème m'intéresse, j'ai fait quelques recherches dans mes logs car
de notre côté nous traçons ce genre d'erreur. Déjà elles sont très rare
mais que ce soit en classic ou en C/S nous avons malgré tout ces erreurs
que nous appellons chez nous des erreurs de time out. Donc ce que je t'ai
dit plus haut n'est peut-être pas tout à fait exact même si nous
constatons qu'il y en a plus en classic qu'en C/S.

Voila ce que je peux te dire, donc si c'est ça il faut regarder du côté
des cartes réseaux, switch ou du cablage. Mais regarde quand même si
l'option hblocageecriture est vraiment nécessaire dans ton contexte, ça me
parait un peu particulier.


Cordialement,

Emmanuel Haefelé.





Salut et merci pour tes remarques,

Pour ce qui est de nos install, nous avons environ 50% de monopostes et
50% de réseau (de 3 à 20 postes, peu de 20 :)

Sur le site en question, il y a en utilisation "normale" peu de traffic,
les utilisateurs sont speed, mais en terme informatique, le réseau est
peu sollicité (nous avons des sites beaucoup plus important et beaucoup
plus actifs)

Ce que nous avons fait : Installer sur un des TPV une boucle qui génère
des enregistrements sur le même principe que celui que nous utilisons
"en vrai" .. blocage d'un enregistrement pour être sur d'être seul à
écrire à un instant T, écriture de notre facture, déblocage de
l'enregistrement qui fait office de sémaphore (d'ou le hajoute en
blocage écriture)

"Grâce" à cette boucle qui génère en 1 minute plus de facture que les
utilisateurs en 30 minutes, nous avons réussi à provoquer un blocage.
L'enregistrement du traffic réseau par WireShark ne m'a pas donné grand
chose mis à part une trame TCP/IP (SMB) de demande de blocage qui est a
priori retransmise ... après 1m30 (par contre entre la 1ere transmission
et la retransmission, j'ai quand même des trames entre la caisse en
question et le serveur.) Pour provoquer le blocage, il a fallut la
boucle et que deux utilisateurs "synchronisent" leur enregistrement.

En attendant, j'ai effectué les modifications nécessaires dans mon
projet afin de pouvoir travailler en client serveur et le même test
(chez le client) en mode client/serveur a été concluant (impossible de
provoquer le blocage à nouveau)

Je m'orienterais donc sur un problème réseau mais lequel ... drivers,
câblage, switch ... j'aurais bien aimé savoir.

En tout état de cause, le test en situation réelle se fera ce week-end
car le client attends une très forte affluence dans son établissement.

Je posterais le résultat lundi matin :)

Merci encore,

Fred.
Avatar
Fredo
Le 27/10/2011 09:56, tt a écrit :
Le Thu, 27 Oct 2011 09:02:41 +0200, Fredo a
écrit:

Bonjour,

Sur un réseau constitué des 5 postes en xp SP3 (TPV Toshiba-TEC STA10)
avec un poste "serveur" (pc bureautique XP SP3)

De façon aléatoire (une à deux fois par jour maximum et pas tous les
jours) mon application se fige. En analysant les logs (dbactivelog) il
s'avère que la fonction hajoute(monficher,hblocageecriture) rends la
main au bout de 1 minutes 30 au lieu de quelques millisecondes. Vu que
je tente cet ajout plusieurs fois avant de déclencher une erreur, cela
provoque un gros blocage (qui oblige à redémarrer un ou plusieurs poste)

Une fois le poste qui provoque le ralentissement éteint, l'application
recommence à fonctionner sur les autres postes (encore faut-il savoir
lequel est incriminé et le redémarrer en 1er)

Je viens de terminer de migrer mon application en client serveur afin
de résoudre le problème si celui-ci est lié au mode classic mais
j'aurais aimé etre sur de la cause du problème avant de passer en C/S.


[...]

Fred



Bonjour,

Je dois avoir dans mes notes, quelque part, des choses à faire sur les
répertoires partagés des fichiers
de données WD (notamment sur les Optimistic Locks du protocole SMB). Si
cela t'intéresse, je peux le rechercher.





Salut,

Merci pour ce post, effectivement, le problèmes des oplocks m'est venu a
l'esprit et j'ai fait les modifications en question dans les bases de
registre.

Néanmoins de mémoire, c'était plus dans le cas d'environnement
disparates (xp/95 + NT) et dans mon cas tous les postes sont en XP SP3
et les sympthomes étaient une moultitude d'index corrompus.

Bon dev,

Fred.
Avatar
Emmanuel Haefelé
"Fredo" a écrit

En attendant, j'ai effectué les modifications nécessaires dans mon
projet afin de pouvoir travailler en client serveur et le même test
(chez le client) en mode client/serveur a été concluant (impossible de
provoquer le blocage à nouveau)



Ca c'est déjà une bonne nouvelle.

Je m'orienterais donc sur un problème réseau mais lequel ... drivers,
câblage, switch ... j'aurais bien aimé savoir.



Je ne voudrais pas t'orienter dans une mauvaise direction car à te lire il
est quand même assez difficile de déterminer si c'est un conflit d'accès
ou un problème réseau. Concernant ce dernier problème je n'y connais pas
grand chose mais je dirais, cablage ou drivers, si c'est toujours le même
TPV qui est en cause (même si ça peut aussi être le cable entre le switch
et le serveur et donc concerner tous les postes). Pour le reste c'est plus
délicat, je pense qu'idéalement il faudrait commencer par remplacer le
switch et voir ce que ça donne.

Ceci étant dit, si ça à l'air de fonctionner en C/S à ta place je
commencerais déjà par voir pendant un certain temps ce que ça donne dans
cette configuration et ensuite j'aviserai.

En tout état de cause, le test en situation réelle se fera ce week-end
car le client attends une très forte affluence dans son établissement.

Je posterais le résultat lundi matin :)



Ok, c'est toujours intéressant. Et si ça se reproduit à l'avenir, tiens
nous au courant on finira bien par trouver ...


Cordialement,

Emmanuel Haefelé.
Avatar
Fredo
Le 27/10/2011 15:59, Emmanuel Haefelé a écrit :
"Fredo" a écrit

En attendant, j'ai effectué les modifications nécessaires dans mon
projet afin de pouvoir travailler en client serveur et le même test
(chez le client) en mode client/serveur a été concluant (impossible de
provoquer le blocage à nouveau)



Ca c'est déjà une bonne nouvelle.

Je m'orienterais donc sur un problème réseau mais lequel ... drivers,
câblage, switch ... j'aurais bien aimé savoir.



Je ne voudrais pas t'orienter dans une mauvaise direction car à te lire il
est quand même assez difficile de déterminer si c'est un conflit d'accès
ou un problème réseau. Concernant ce dernier problème je n'y connais pas
grand chose mais je dirais, cablage ou drivers, si c'est toujours le
même TPV qui est en cause (même si ça peut aussi être le cable entre le
switch et le serveur et donc concerner tous les postes). Pour le reste
c'est plus délicat, je pense qu'idéalement il faudrait commencer par
remplacer le switch et voir ce que ça donne.

Ceci étant dit, si ça à l'air de fonctionner en C/S à ta place je
commencerais déjà par voir pendant un certain temps ce que ça donne dans
cette configuration et ensuite j'aviserai.

En tout état de cause, le test en situation réelle se fera ce week-end
car le client attends une très forte affluence dans son établissement.

Je posterais le résultat lundi matin :)



Ok, c'est toujours intéressant. Et si ça se reproduit à l'avenir, tiens
nous au courant on finira bien par trouver ...


Cordialement,

Emmanuel Haefelé.




[Joke]
Une autre piste que je n'ai pas évoqué ... que notre logiciel habitué au
climat provençal de sa conception ne supporte pas le climat alsacien
(Client à Brumath)
[/Joke]

Effectivement, le switch est un dlink ... j'aurais préféré un Cisco ou
un HP mais bon ... ce n'est pas moi qui fournis le matos.


Merci encore,

Fred.
Avatar
Emmanuel Haefelé
"Fredo" a écrit

[Joke]
Une autre piste que je n'ai pas évoqué ... que notre logiciel habitué au
climat provençal de sa conception ne supporte pas le climat alsacien
(Client à Brumath)
[/Joke]



C'est effectivement une éventualité à ne surtout pas négliger ;)

Bonne chance.

Emmanuel Haefelé.
Avatar
patrice
Bonjour

J'ai un problème similaire sur un gros fichier (avec un index tellement
gros que j'ai du activer l'extension >2go)
Le premier hlittrecherchepremier mais un temps tellement important qu'il
arrive que mon watchdog termine le programme.
Au relancement suivant, ca refonctionne
comme si, HF vérifiait les index au premier acces
(et du coup, ca rame au premier coup, et après c'est dans le cache du
disque dur)

Le 27/10/2011 09:02, Fredo a écrit :
Bonjour,

Sur un réseau constitué des 5 postes en xp SP3 (TPV Toshiba-TEC STA10)
avec un poste "serveur" (pc bureautique XP SP3)

De façon aléatoire (une à deux fois par jour maximum et pas tous les
jours) mon application se fige. En analysant les logs (dbactivelog) il
s'avère que la fonction hajoute(monficher,hblocageecriture) rends la
main au bout de 1 minutes 30 au lieu de quelques millisecondes. Vu que
je tente cet ajout plusieurs fois avant de déclencher une erreur, cela
provoque un gros blocage (qui oblige à redémarrer un ou plusieurs poste)

Une fois le poste qui provoque le ralentissement éteint, l'application
recommence à fonctionner sur les autres postes (encore faut-il savoir
lequel est incriminé et le redémarrer en 1er)

Je viens de terminer de migrer mon application en client serveur afin de
résoudre le problème si celui-ci est lié au mode classic mais j'aurais
aimé etre sur de la cause du problème avant de passer en C/S.

L'application en elle même est utilisée à plusieurs milliers
d'exemplaire (8000 postes environ) en classic et c'est la 1ere fois que
nous rencontrons le problème.

Il y avait des problèmes d'index corrompu sur le site mais le câblage a
été entièrement refait et depuis plus de problèmes de ce type.

Auriez vous un retour sur ce type de problème ?

Nous allons tenter de provoquer l'erreur en surchargeant le réseau (qui
ne l'est pas en situation normale) et de monitorer le réseau avec
wireshark.

Je suis preneur de tout idée qui me permettrait de mettre le doigt sur
la cause de ce ralentissement.

Dernière info, le site étant isolé (pas d'internet et pas de lecteur de
disque / Cd) il n'y a pas d'antivirus actif.

Merci d'avance,

Fred
1 2