Bonjour à toutes et à tous;
J'ai un fichier dbf (une table dbase) situé sur une machine A, le serveur. Plusieurs applications situées sur le même réseau que ce serveur peuvent lire et écrire sur cette table. Il y a également une application (miroir) située sur le serveur (La machine A) qui lit et écrit également sur cette table. J'aimerai faire en sorte que l'activité de cette dernière application ne gène pas du tout celle des autres application situées sur le réseau, en d'autres termes qu'elle soit la dernière servie. J'ai essayé en minimisant au maximum la priorité attribuée à cette application. Pour cela j'ai mis ce code dans le OnCreate de l'application :
SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
J'ai ensuite fait plusieurs tests, ça marche quelques fois, c'est à dire que la vitesse de lecture et d'écriture des autres application augmente lorsque je met la priorité de cette application au plus bas. Mais ça ne marche pas tout le temps, je pense que d'autres facteurs entrent en compte.
J'aimerai savoir si je suis sur la bonne voie. Est-ce seulement une question de priorité entre les processus ? Il est vrai que les application ne sont pas sur la même machine mais le fait que l'application présente sur le serveur aie une priorité basse implique qu'elle consulte moins souvent le fichier mais je pense que ça ne suffit pas. Est-ce qu'il y aurait un moyen de savoir à un instant 't' qu'une application essaie de consulter la table, comme ça je pourrais stopper l'activité de l'application "Miroir" pour céder la priorité aux autres. J'aurais de toutes façons besoin que la priorité du "miroir" soit au minimum pour ne gêner les applications présentes sur le serveur aussi.
Je vous remercie d'avance pour toute réponse ou aide.
Partager