2009-11-12 3 views
0

J'ai une DLL ActiveX VB6 qui fonctionne correctement sur toutes nos machines depuis plusieurs années. Récemment, notre responsable informatique a configuré plusieurs emplacements afin qu'ils soient distants dans Terminal Server 2008 et exécutez le programme qui accède à ma DLL sur le serveur Terminal Server pour que leurs bases de données soient locales au réseau d'entreprise. Ma DLL s'exécute très lentement sur le serveur Terminal Server. Ce qui prend environ 5 secondes sur un ordinateur local prend 30 secondes lorsqu'il est exécuté sur le serveur Terminal Server. Une de mes fonctions de DLL est d'enregistrer des messages dans un fichier journal XML. Lorsque la DLL enregistre son premier message, elle initialise le journal en créant la dll de consignation, puis, si l'objet de consignation n'est pas valide, il enregistre le message. Lorsque le journal dll écrit un message, il est horodaté et chaque appel à écrire un élément dans le journal semble prendre environ 5 secondes. J'ai écrit une petite application de test qui fait la même chose et la création de l'objet log dll suivi de l'écriture d'un élément dans le journal se fait en environ 1 seconde. Je ne peux pas comprendre pourquoi ma DLL qui s'exécute bien ailleurs ralentit sur Terminal Server et j'ai besoin d'idées pour ce qui pourrait causer cela.La DLL ActiveX VB6 s'exécute lentement sur Terminal Server 2008

Répondre

1

Je ne sais pas si cela est évident, mais je voudrais sortir FileMon (ou ProcessMon) et juste regarder combien de temps la journalisation prend. Ce serait mon point de départ.

+0

J'ai déjà enregistré les heures dans le fichier pour chaque écriture, mais votre suggestion a conduit à la réponse. Je pensais que l'utilisation du moniteur de processus pouvait m'amener à autre chose dans le processus et quand je l'ai fait, j'ai découvert beaucoup plus d'écritures dans le fichier que ce à quoi je m'attendais. Le programme conserve les éléments du journal pendant un nombre de jours spécifié avant de les supprimer et avec plusieurs utilisateurs utilisant le journal sur le serveur Terminal Server, il était suffisamment grand pour expliquer le retard. J'aurais aimé y penser en premier. – jac

Questions connexes