[Intégré 10.0.99.8036] Temps de réponse lors de la saisie d'opérations sur titres

Une idée d'amélioration, d'évolution pour GesFine ...

Modérateur : Patrice15220

Répondre
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

[Intégré 10.0.99.8036] Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Bonjour Jacques,

Je suis ce fil avec intérêt car moi aussi je rencontre des lenteurs (env 10 sec) dans l'utilisation de Gesfine.
Je n'ai pas encore isolé des différentes opérations qui provoquent ces lenteurs. Je le ferai prochainement et te donnerai les résultats.
En attendant, peux tu nous expliquer ce que fait concrètement un archivage des opérations, et quel en est l'impact sur les différentes analyses. (notamment l'évolution des soldes).
Merci pour tes lumières,

Cordialement,

Mathieu.
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur compte bancaire

Message par Deggi »

Jacques,

De mon coté, les latences semblent surtout liées aux opérations sur titres.
Le simple fait de valider une modification de commentaire sur une opération existante (sur un titre ayant une dizaine d'opérations) dure entre 8 et 12 sec.
Ci joint le log. (ouverture / selection du titre / maj de l'opération / fermeture de gesfine).

Bonne chasse ! :-)

Mathieu
Fichiers joints
log_perfo.txt
(17.16 Kio) Téléchargé 189 fois
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur compte bancaire

Message par Jacques Leblond »

@ Mathieu
Après une rapide analyse, le temps de traitement est imputable à l'algorithme de compilation des opérations sur titres (conversion des opérations natives en opérations interprétables par les algorithmes).
Le souci vient que l'algo nécessite une itération de 8 boucles pour traiter correctement la compilation, cela est uniquement du aux opérations de transfert d'opérations entre comptes.
Pour le voir, compte les lignes qui contiennent la table "T_TSO_AccountTransfers".
Je n'ai plus le détail de l'algo en tête à l'instant mais je présume que tu as utilisé plusieurs fois des opérations de transfert de comptes, induisant ces 8 itérations.
Dans quelles circonstances as tu fait ces opérations de transfert ?
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur compte bancaire

Message par Deggi »

Jacques,

A priori je n'ai pas fait d'opération de transfert de compte.
J'ai affiché mes 2700 opérations (!!) sur titres et j'ai filtré sur "transfert vers un compte bénéficiaire" et je n'ai rien trouvé.
En tous cas je suis sûr à 100% que pour le titre que j'ai utilisé pour générer le fichier de log, il n'y avait qu'une opération d'acquisition et quelques opérations de dividendes.
Il faudrait peut être vérifier de ton coté que les critères qui déclenchent ces 8 itérations sont assez restritifs.
Bonne soirée (ou ce qu'il en reste). :-)

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur compte bancaire

Message par Jacques Leblond »

Alors c'est peut être des opérations de transfert de titres (Opération de liquidation/création).
Les 7 premières itérations représentent 4s (certainement ces transferts), la dernière 5s qui regroupe tous les comptes et titres car je fais une recompilation globale après une mise à jour, notamment à cause des transferts.

J'avais fait une analyse sur une grosse base d'un client il y a quelques temps et j'avais vu que ce qui coutait beaucoup en temps était :
  • Les transferts (difficile à optimiser, sauf à s'éviter les opérations de transfert ou à faire une pré analyse via un arbre, on pourra en reparler si c'est ça)
  • Le nombre d'opérations sur les coupons (pas réussi à faire mieux)
  • Les titres dans une devise différente de la devise de synthèse (j'avais apporté des améliorations très substantielles sur ce point)
PS ; J'ai divisé le sujet de celui de Vilou sur les latences dans le livre de comptes, les causes étant différentes
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Ok pour la création d'un nouveau sujet. Effectivement, le pb est différent.
Je n'ai forcement pas tous les détails pour donner des directives précises, mais il me semble inutile de faire une recompilation globale à chaque mise à jour. Et dans le cas ou elle a un intérêt, ne faudrait-il pas la faire que si la mise à jour concerne un titre ayant faire l'objet d'un transfert (si c'est bien là le problème) ?
En tous cas, la situation actuelle est vraiment pénalisante. Et à priori le changement de framework n'a pas changé grand chose (ni dans un sens, ni dans l'autre).
Je suis à ta disposition pour faire des tests si nécessaire.

Bonne soirée,

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Deggi a écrit : 20 juillet 2021, 22:08 mais il me semble inutile de faire une recompilation globale à chaque mise à jour. Et dans le cas ou elle a un intérêt, ne faudrait-il pas la faire que si la mise à jour concerne un titre ayant faire l'objet d'un transfert (si c'est bien là le problème) ?
C'est ce que je t'évoque dans mon message, faire une compilation au juste nécessaire nécessite une pré-analyse des transferts entres comptes et entre titres, pour chainer les comptes et les titres interdépendants, le croisement compte/titre ne simplifiant pas les choses.
C'est une optimisation à laquelle je vais réfléchir.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Bonsoir Mathieu,
Je viens de publier une nouvelle version intermédiaire afin d'optimiser les traitements de compilation des opérations.
Tu devrais observer de nettes améliorations lors de la mise à jour ou de l'ajout d'opérations sur titres.

Par ailleurs, il ne s'agit pas des transferts entre comptes (comme je te l'avais indiqué) mais des transferts entre titres qui sont un peu consommateur de temps. Si ces transferts se font sans perte de valeur je recommande dorénavant l'usage d'opérations de conversion (cas 2 en remplacement du cas 4 de cette méthodologie).
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Bonsoir Jacques !

Je profite d'une insomnie pour tester ta modif, et je te confirme que c'est parfait !
La validation d'une saisie d'un simple dividende qui me prenait environ 20 secondes est quasi instantanée maintenant.
Merci beaucoup !

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Bonjour Mathieu,

J'ai poursuivi la recherche d'optimisation de performances. J'ai notamment ciblé les tableaux à arborescence qui représentent la majeure partie du chargement des modules qui les utilisent.
Par l'usage de dictionnaires en lieu et place de requêtes de sélection, j'ai obtenu de très nettes améliorations.

Sur le module Performance par exemple, tous comptes, liste "Tous les titres" j'ai obtenu des gains de 70% sur ma base de référence pour les perfos.
Comme tu m'as dit avoir pas mal d'opérations, cela devrait aussi être significatif sur ta base.
N'hésite pas à prendre un chrono de référence avec ta version actuelle avant d'installer la nouvelle version intermédiaire.
Pour faire ton test, voici comment procéder.
  • Ouvre le module Performance, coche tous les comptes et la liste "Tous les titres".
  • Puis prend le chrono en resélectionnant dans la barre d'outil, le regroupement que tu as choisi.
    Tu peux aussi activer la log à ce moment là, et me copier les lignes contenant "TGVPerfo..." (Depuis les messages d'application, onglet "Performance"). C'est la valeur "TGVPerfoC" qui doit chuter.
  • Tu dois être à la date du jour, sinon une recompilation des opérations aura lieu (les 20s que tu évoques dans un message précédemment, à la date du jour elle est réalisée une unique fois au démarrage).
Dans les prochaines semaines je vais rechercher de nouvelles optimisations pour la compilation qui reste trop longue sur la totalité des opérations (outre celles réalisées dernièrement qui a seulement consisté à ne relancer la compilation à la date du jour qu'au juste nécessaire suite à une évolution sur les opérations).
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Salut Jacques,

Je passe d'environ 10 ou 11 secondes à environ 6 secondes :

Avant mise a jour : environ 10 / 11 sec

14:35:13.591 NET 19813
14:35:05.455 TGVPerfo 6282

Après mise à jour : environ 6 secondes :

14:41:59.498 NET 5528
14:41:53.934 NET 5220
14:41:48.675 NET 4354
14:41:44.283 NET 4594
14:41:39.648 NET 12257
14:41:37.106 TGVPerfoM 465
14:41:36.618 TGVPerfoP 259
14:41:36.340 TGVPerfoG 66
14:41:36.253 TGVPerfoC 263
14:41:35.969 TGVPerfo 5021

Maintenant la question est de savoir ce que je vais bien pouvoir faire de ces 4 secondes par jour dont je dispose grace à toi... :-)

Par contre, si je choisis une date autre que la date du jour, je suis à 14 secondes et le log me donne :
14:47:10.341 TGVPerfoM 413
14:47:09.908 TGVPerfoP 290
14:47:09.598 TGVPerfoG 15
14:47:09.563 TGVPerfoC 166
14:47:09.378 TGVPerfo 4540
14:47:04.729 TSOLoad 9765 T_TS_Perfo

Bizarre : TVGPerfo a encore baissé, mais le temps de réponse a augmenté...
Je n'ai pas pensé à faire le test à une autre date avant d'installer la version intermédiaire... :-(

Dis moi si tu as besoin que je fasse d'autres tests.

Cordialement,

Mathieu
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Sur la version précédente, tu n'avais pas le détail de TGVPerfoC sur lequel j'ai surtout ciblé mes dernières optimisations. Il devait être à plus de 4s vu ta prise de chrono manuelle, il est maintenant vers les 200ms en moyenne.

Mes optimisations concernent TGVPerfo et surtout TGVPerfoC.
TGVPerfo est passé de 6282 à 5021-4540. Il peut y avoir quelques variations dues aux différences entre les dates de référence ou tout simplement l'occupation processeur.

La compilation des opérations pour une date autre que celle du jour est dans TSOLoad 9765
A la date du jour, TSOLoad doit être bien inférieur. La différence correspond à la compilation des opérations sur le périmètre ciblé, en l’occurrence tout si tu es bien sur "Tous les comptes" et "Tous les titres".

Merci pour ton retour, les optimisations n'étaient pas un luxe quand on charge toutes les opérations ;)

EDIT : tu as quoi comme processeur ?
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Merci pour ton implication toujours sans faille Jacques.
C'est réellement un plaisir !
Pour info mon processeur est un Intel® Core™ i3-4150T 3 Mo de cache, 3,00 GHz.
Plus très jeune, mais vaillant. Comme nous... ;)

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Bonjour Mathieu,
Je viens de publier une nouvelle version intermédiaire apportant des améliorations majeures de performance. Si GesFine était une voiture, on pourrait résumer les changements en disant que j'ai changé le moteur ;)

Je t'invite à faire 2 prises de chronos sur les 2 scénarios suivants avant d'installer la nouvelle version, puis de les refaire après.
  • Module Performance, tous les comptes cochés, Liste "Tous les titres" cochée, date de référence définie à hier (pour lancer une compilation complète).
  • Module Évolution des gains (Grille), tous compte cochés, Liste "Tous les titres" cochée, date de début avant la première opération sur titres (à défaut de savoir, indique l'année 1970), date de fin à hier pour induire une compilation supplémentaire.
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Bonjour Jacques,

Je constate que je t'ai donné pas mal de travail avec mon message... :)
Les résultats sont à la hauteur de ton talent !
Pour le module "Performances", je passe de 14 secondes à 5 secondes.
Pour le module "Evolution des gains" je passe de 25 secondes à 4 ou 5 secondes.
Encore une fois bravo, et merci pour ton implication sans faille au service de tes utilisateurs !

Bonne soirée,

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Merci pour ton retour Mathieu ;)
Les conditions du test restent le pire scénario, dans "Evolution des gains" par exemple avec une période réduite ou juste les titres en portefeuille, tu dois redescendre vers 2s ce qui me parait satisfaisant vu ton PC, et dans "Performance" que l'on consulte la plus part du temps à la date du jour, la compilation n'est pas redemandée et cela doit aussi être plus rapide.
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

Re: Temps de réponse lors de la saisie d'opérations sur titres

Message par Deggi »

Oui, avec les uniquement les titres en portefeuille, à la date du jour et avec une période "raisonnable", je tourne à un peu moins de 3s.
Pour moi c'est largement acceptable !
Je libère donc ton temps et ton cerveau pour d'autres sujets ! :) (même si ça n'est évidement pas moi qui décide).
Encore merci.

Mathieu.
Jacques Leblond
Administrateur
Messages : 6747
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

Re: [Intégré 10.0.99.8036] Temps de réponse lors de la saisie d'opérations sur titres

Message par Jacques Leblond »

Amélioration des temps de traitement réalisé dans la version 10.0.99.8036
Répondre