Aller au contenu principal

Enregistrement des fichiers

1er août 2022

Contributeurs

Simon B., Sébastien F.

Statut

Accepté

Contexte

Lors de l'écriture des fichiers (historisation + dernière version), nous avons le choix entre écrire séquentiellement les deux fichiers OU paralléliser les écritures.

Nous avons réalisé de brefs tests de performances sur des fichiers d'une taille avoisinant les 50 MiB avec les résultats suivants :

Stratégie d'écritureTemps d'exécution en secondesContexte
Séquentielle11,892sMac SEFR, MinIO qualification
Parallélisation8,768sMac SEFR, MinIO qualification

Décision

Écriture séquentielle car la différence n'est pas assez significative.

Conséquences

Positif :

  • Meilleure gestion d'erreur possible
  • Pas de tentative d'écriture du dernier fichier si l'historisation a échoué
  • Meilleure lisibilité du code (pas de Promise.all)

Négatif :

  • Temps d'exécution plus important

Autres pistes explorées

return Promise.all([
this.sauvegarderFichierAHistoriser(contenuASauvegarder, configurationFlux),
this.sauvegarderCloneDuDernierFichier(contenuASauvegarder, configurationFlux),
])