Mon application copie simplement une table de la base de données locale vers un serveur de base de données distribuée. Les données à copier sont assez importantes pour un millier d'enregistrements et ont terminé les travaux pendant une trentaine d'années (je ne sais pas exactement combien de temps il faut exactement). Cette application est exécutée sur l'entrée programmée ou utilisateur (méthode de la force).Meilleure façon d'utiliser la mémoire et l'utilisation du processeur
Le serveur de base de données utilise JHA (Jack Henry and Association). Le problème est que parfois le serveur de base de données subit une utilisation CPU et mémoire très élevée, ce qui entraîne l'échec de certaines applications utilisant le même serveur de base de données à extraire des données de la base de données. Après avoir fait quelques traces, nous avons découvert que l'opération qui provient de mon application utilise un processeur et une utilisation mémoire très élevés. Ma solution est lors de la copie des données, im copier 100 enregistrement en même temps, puis mon mettre mon application pour dormir pendant 100ms, puis en copiant l'enregistrement 100 suivant, et ainsi de suite jusqu'à ce que toutes les données sont copiées. Est-ce assez? Est-ce que ma solution aura un effet significatif? Quelle est votre suggestion? FYI, mon application est exécutée à partir de plusieurs ordinateurs, donc plusieurs ordinateurs clients et un serveur de base de données. Et je vraiment-vraiment besoin de votre aide ici :)
raisonner sur les performances est difficile, sans un code source de base dépouillé, il devient annulable ... Utilisez-vous des transactions? Est-ce lan/wan/internet? quelle pile technologique? qu'est-ce qu'il y a dans un enregistrement? Combien de champs, quel type? – rene
Je ne pense pas, jusqu'ici j'ai lu le code source (je ne le construis pas à partir de zéro, c'est une application existante, et le créateur initial est démissionné il y a longtemps) c'est juste une connexion de base de données sans aucune transaction, FYI this l'application utilise VB.Net 2.0. L'enregistrement contient des données financières du client, il a environ 20 champs, il a varchar, int, et le type numérique. Mon idée est de donner au serveur de base de données quelques fois pour faire d'autres choses (c'est ce que le sommeil pour), de sorte que le serveur de base de données peut faire fonctionner à partir d'une autre application. C'est suffisant? Quelle est votre suggestion? – Hendra
Je vous suggère de cesser de deviner. Je ne voudrais pas déranger à quel point l'autre serveur est occupé. C'est leur problème. – rene