Bonjour,
Dans le processus de développement d'une application, un des postes importants est la détection des nœuds d'étranglement sur lesquels il faut faire un effort particulier d'optimisation. Les lectures et sauvegardes de données sur disque peuvent faire partie de ces points plus délicats, surtout s'ils ont lieu vers ou depuis une machine distante et si le nombre d'accès disque est très élevé.
Alors que la lecture et l'écriture de fichiers sur une machine locale sont généralement bien optimisées par les systèmes d'exploitation, il n'en va pas de même pour des accès via le réseau et des lectures ou écritures de fichiers contenant un très grand nombre d'éléments (d'enregistrements ou de lignes de texte) peuvent devenir pénalisants pour une application.
Cet article présente une solution parmi d'autres pour optimiser les lectures et écritures de fichiers : l'utilisation d'un cache mémoire, dans lequel vont se faire toutes les lectures et écritures de données. Pour la lecture, on allouera un cache ayant la même taille que le fichier et on y chargera tout le contenu du fichier en une seule fois. Pour l'écriture, on calculera la taille du fichier à créer, on allouera un cache de cette taille, on y copiera toutes les données et on écrira l'entièreté du fichier en une seule fois.
La technique exposée dans cet article n'est peut-être pas la panacée en matière d'optimisation mais elle a été testée avec succès en production. Il est sans doute possible de l'améliorer.
http://alcatiz.developpez.com/tutori...fichier-cache/
Qu'en pensez-vous ?
Partager