Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gros problèmes de lenteur !!

18 réponses
Avatar
FabSteg
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg

10 réponses

1 2
Avatar
Romuald.besset
FabSteg a écrit :
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg



Si effectivement votre "code ne devrais pas être en cause" alors il y a
la solution d'en passer par TSE sur un serveur plus musclé ou en C/S
mais avec WinDev 9.
Sinon, peut être qu'il faut un peu optimiser les accès aux fichiers HF
précisément pour alléger le trafic réseau. Evidement j'ose espérer que
vos exécutables sont en local (installation type "Avec mise à jour réseau").

Bon courage
++ R&B
www.WDForge.org
Avatar
FabSteg
Romuald.besset a écrit :
>
Si effectivement votre "code ne devrais pas être en cause" alors il y a
la solution d'en passer par TSE sur un serveur plus musclé ou en C/S
mais avec WinDev 9.
Sinon, peut être qu'il faut un peu optimiser les accès aux fichiers HF
précisément pour alléger le trafic réseau. Evidement j'ose espérer que
vos exécutables sont en local (installation type "Avec mise à jour
réseau").

Bon courage
++ R&B
www.WDForge.org



Mes éxécutables sont installés sur chaque poste client.
Que voulez-vous dire par optimiser les accés aux Fichiers HF ?

Merci



FabSteg
Avatar
Eric Laurent
FabSteg avait prétendu :
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg



Essaye d'abord en désactivant les anti-virus.
J'ai déjà eu des problèmes similaires que j'ai résolus en configurant
différemment la protection.

--
Eric Laurent

(enlever nospam.)
Avatar
denis
Effectivement, j'ai été confronté aux mêmes problèmes, et il s'agissait non
pas du code, mais bel et bien de réglahes de l'anti-virus


"FabSteg" a écrit dans le message de news:
cuagmg$1s6$
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg


Avatar
FabSteg
Eric Laurent a écrit :


Essaye d'abord en désactivant les anti-virus.
J'ai déjà eu des problèmes similaires que j'ai résolus en configurant
différemment la protection.




Je viens d'essayer en désactivant l'antivirus du poste client (le
serveur n'en a pas) et cela ne change rien du tout, toujours aussi lent !



Fabsteg
Avatar
Pierre BOUSQUET
as tu regardé les options de performances dans les propriétés système du
Windows Server
Par défaut un serveur est voué aux autres


"FabSteg" a écrit dans le message de
news:cuagmg$1s6$
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg


Avatar
mat
FabSteg wrote:
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc
que si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes,
maintenant en utilisant le même programme et le même traitement sur
les mêmes fichiers mais cette fois par le réseau sur un poste Client
(XP Pro SP1), j'obtiens un temps d'attente de 40 secondes, soit plus
de 13 fois plus lent, je vous laisse imaginer le temp que pourrais
durer l'éxécution de l'un de mes modules qui noralement est de 35 -
40 minutes ! Je ne vois pas comment je peut faire sachant que mon
code ne devrais pas être en cause !



Bonjour,

Si ce ralentissement se produit déjà à partir d'un seul accès en réseau
et le code n'est pas en cause c'est certainement un problème externe à
Windev. Si, par contre, la lenteur se produit lors des accès par
plusieurs utilisateurs, alors c'est probablement autre chose. Le code
est peut-être quand-même en cause puisque Windev a des particularités,
notamment concernant l'accès aux données sur fichiers partagés, que nous
n'avons vu avec aucun autre produit avec base intégrée que nous
utilisons (Access, Paradox et Visual Foxpro).

Les requêtes sont particulièrement touchées et malheureusement PC Soft
n'ont jamais informé leurs clients comment elles fonctionnent. En effet,
des sources d'information indépendantes disent qu'il y a deux systèmes:

1) fichiers partagés: les fichiers sont envoyé au poste requérant et
la requête est traitée localement.
2) Client/Serveur: le serveur exécute la requête et envoie le résultat
au poste requérant.

Or, selon notre expérience et celle d'autres utilisateurs Windev, il
faut penser que les requêtes Windev sont plutôt un genre de filtre sur
les données du serveur. De toute façon, la méthode d'accès choisi
ralenti l'accès pour tout le monde dans le réseau. Selon PC Soft (FAQ
2861) la responsabilité pour ces lenteurs est la faute de Windows et des
développeurs qui font du mauvais code. Sachant que ces problèmes de
lenteurs n'existent pas avec des produits comme Paradox, Visual Foxpro
et Access, il faut taxer cette information comme étant fausse.

Un fil sur cette question:
http://groups-beta.google.com/group/fr.comp.developpement.agl.windev/browse_thread/thread/c7f5c82a724d04a6/986523bf3537d6f3?q=[WD+7.5+%2F+8.0]+Requ%C3%AAtes+sur+Hyperfile+et+lenteurs+r%C3%A9seau+&_done=%2Fgroup%2Ffr.comp.developpement.agl.windev%2Fsearch%3Fgroup%3Dfr.comp.developpement.agl.windev%26q%3D[WD+7.5+%2F+8.0]+Requ%C3%AAtes+sur+Hyperfile+et+lenteurs+r%C3%A9seau+%26qt_g%3D1%26searchnow%3DSearch+this+group%26&_doneTitleºck+to+Search&&d#986523bf3537d6f3

Toujours selon PC Soft, le problème disparait avec HF Client/Serveur.
Seulement, selon des infos qu'on trouve, HF C/S ne supporte pas (encore)
les transactions. Alors, tout simplement un grand nombre d'applications
réseau ne peuvent pas tourner (p.ex. les nôtres).


Afin d'améliorer la vitesse d'ouverture de fenêtres sous WD8,
il y a par exemple les solutions suivantes:

1) Eviter un grand nombre de combos et favoriser la technique du RAD
avec fenêtre Vision Plus.

2) Si la fenêtre contient plusieurs tables et combos, alors à
l'ouverture vider la source de données des objets dont on n'a pas besoin
tout de suite et les remplir et réassigner lors du besoin.

3) Dans les requêtes, éviter au maximum des relations de fichiers,
SURTOUT lorsque la requête risque de retourner bcp de lignes. Pour
alimenter une table de commandes, il est p.ex. beaucoup plus rapide de
ne sélectionner que les commandes par la requête et aller chercher les
noms de clients / produits avec HLitRecherche... lors de l'affichage de
la table (avec optimisation pour éviter des lectures répétitives) que de
les obtenir en ajoutant Clients et Produits à la requête. Par contre,
aucun problème d'inclure "une dizaine" de fichiers lorsqu'il n'y a que
quelques lignes dans le résultat. La taille des fichiers source ne
ralenti pas outre mesure.

4) Savoir que chaque ligne de résultat de la requête est lu en mémoire
et que cela ralenti le reste du programme si cette lecture n'est pas
possible en arrière plan. Des facteurs qui le rendent impossible:
placement du curseur sur un enregistrement particulier du résultat, des
tries de la requête, les totaux, etc.
Ce ralentissement se fait noter déjà à partir de 100 à 200
enregistrements dans le résultat.

5) Plusieurs développeurs disent d'éviter les problèmes de lenteur en
remplissant "manuellement" des tables et combos mémoire, et sans
filtres, simplement en utilisant des clés adéquates et HLitRecherche...

6) Utiliser des serveurs Linux avec Samba. Il parait que le partage se
passe mieux.

7) Utiliser des bases de données indépendants tels que mySQL.


Salutations
Mat
Avatar
Bruno
Attention si ton poste serveur est un PC sous XP tes lenteurs sont
normales (un Serveur 2003 serait mieux). Il faut essayer d'enlever
l'indexation auto des dossiers et enlever la négociation AUTO des cartes
réseaux + switch et les passer toutes dans le m^me mode (100 full
duplex par ex).


Bruno

FabSteg a écrit :
Bonjour,

J'ai actuellement de gros problème de lenteur dans mon logiciel !
J'utilise une base de données Hyperfile sur un serveur Windows 2000
Server avec un logiciel développé en Windev 8, mon problème est donc que
si j'utilise mon logiciel en local sur ce serveur, j'obtiens, par
exemple pour un traitement, un temps d'attente de 3 secondes, maintenant
en utilisant le même programme et le même traitement sur les mêmes
fichiers mais cette fois par le réseau sur un poste Client (XP Pro SP1),
j'obtiens un temps d'attente de 40 secondes, soit plus de 13 fois plus
lent, je vous laisse imaginer le temp que pourrais durer l'éxécution de
l'un de mes modules qui noralement est de 35 - 40 minutes !
Je ne vois pas comment je peut faire sachant que mon code ne devrais pas
être en cause !



Merci beaucoup !



FabSteg


Avatar
FabSteg
Bruno a écrit :
Attention si ton poste serveur est un PC sous XP tes lenteurs sont
normales (un Serveur 2003 serait mieux). Il faut essayer d'enlever
l'indexation auto des dossiers et enlever la négociation AUTO des cartes
réseaux + switch et les passer toutes dans le m^me mode (100 full
duplex par ex).






et non mon serveur est sous Windows 2000 Serveur et pas sous XP, ce sont
mes postes clients qui sont sous Windows XP Pro.

Merci quand même


FabSteg
Avatar
Bruno
FabSteg a écrit :

Bruno a écrit :

Attention si ton poste serveur est un PC sous XP tes lenteurs sont
normales (un Serveur 2003 serait mieux). Il faut essayer d'enlever
l'indexation auto des dossiers et enlever la négociation AUTO des
cartes réseaux + switch et les passer toutes dans le m^me mode (100
full duplex par ex).






et non mon serveur est sous Windows 2000 Serveur et pas sous XP, ce sont
mes postes clients qui sont sous Windows XP Pro.

Merci quand même


FabSteg


penses qd même à la négociation des cartes (c'est le jour et la nuit
sans le mode auto)

bruno
1 2