Temps de chargements de formulaires longs

Bonjour,

Je travaille aujourd’hui pour Defilippis qui rencontre un problème de temps de chargements très longs lors de l’affichage d’un objet.
À cet objet A est lié un objet fils B, qui peut comporter un certain nombre de lignes. Plus il y a de lignes, plus le temps sera long (30 secondes à 40 secondes pour une vingtaine de lignes).

J’ai commencé par commenter la fonction “initUpdate” et le script front de l’objet A, dans le but de voir si c’était un problème de code, et ça n’a pas changé la donne. L’objet B n’a qu’une fonction “preValidate”.

Je remarque dans les logs lors du chargement de l’objet A, une erreur " Object B unknown field .", ce qui n’est pas très explicite pour comprendre de quel champ on parle, et je ne suis même pas certain qu’il y ai un lien avec la perf. ( erreur qui date de plus longtemps que ce soucis de chargement )

Face à la courte durée de mon intervention je voulais savoir si vous aviez quelques conseils ou préconisations sur les points qui pourraient engendrer de telles perfomances pour que je puisse cibler efficacement la source du problème. Avez-vous déjà fait face à un tel problème ?

Merci beaucoup,

Vincent Scheffer

Les problèmes de performance sont souvent d’abord des problèmes d’indexation de base de données.

Commencez par regénérez les index sur vos tables via l’action “Proposition d’indexes” (qui en fait ne fait pas que proposer mais rejoue aussi les indexes indiqués):

Ensuite, si ça ne règle pas votre pb de performance, faite une analyse critique de votre code pour voir comment il pourrait être optimisé: mettez des traces AppLog.info("...", getGrant()); au début et à la fin de chaque hook pour bien voir quand ils sont appelés et combien de temps dure leur traitement unitaire. Etc.

Enfin, il n’est jamais bon de laisser trainer des erreur dans son code. En termes de performances ça a peu de chances d’avoir un impact direct mais ça a forcément un impact fonctionnel grave.

Merci pour votre réponse, je vais essayer tout ça.
Et en effet, je suis tout à fait d’accord pour l’erreur, j’ai remonté l’info au client.

Bien cordialement,
Vincent Scheffer

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.