Question

Nous avons un 2 x serveur Quad Core Xeon avec 8 Go de RAM et Windows Server 2003 Enterprise installé. Nous avons installé notre serveur d'application basée sur .NET Framework 3.5 sur elle. Le serveur utilise SQL Server 2005 comme serveur de base de données.

Lorsque nous avons installé le serveur d'application, il utilisé pour avoir des performances ultra rapide et tout allait bien. Une fois que nous avons rejoint dans notre domaine, ses performances ont diminué de façon spectaculaire. Par exemple, une tâche qui a pris 1 sec pour terminer, prend maintenant environ 30 secondes. Cela est très étrange puisque les performances que les applications basées sur .NET a cette performance atteint, mais les autres applications fonctionnent toujours à leur vitesse normale.

Quelqu'un at-il une idée de pourquoi est-ce qui se passe? Toute aide ou suggestion est très apprécié.

Était-ce utile?

La solution 2

J'ai trouvé la réponse à ma question si je pensais que ce serait peut-être bon de le partager ici. Le CLR veut générer des données de l'éditeur pour les assemblages avec la signature de authenticode quand il tente de charger les assemblages. Dans notre cas CLR tente de se connecter à clr.microsoft.com mais notre accès internet du serveur a été bloqué de sorte qu'il a causé retard énorme à chaque fois que le serveur d'application tente de charger une nouvelle assemblée.

Le message suivant décrit comment vous pouvez désactiver cette fonction:

Contourner le Signature Authenticode Vérifier au démarrage

Autres conseils

Malheureusement, plus est probablement nécessaire pour répondre à votre question. Il y a une foule de raisons possibles pour lesquelles cela se produit, et la plupart d'entre eux impliquent votre code.

D'après les symptômes que vous avez rejoint le domaine, puis les choses ont commencé causer des ennuis, je dirais que vous avez beaucoup de réseautage que vous faites qui était auparavant pu faire localement sur votre machine et le temps d'attente est maintenant réellement la cause du mal.

Mais c'est une conjecture sauvage basée sur des informations pas assez.

Je vous suggère le profil de votre code. Découvrez où la majorité de votre temps est passé lors de l'exécution, puis afficher le code ou une version aseptisée ici afin que nous puissions vous aider à optimiser.

Je vais faire une supposition ici et je pense que vous parlez d'une application web. Si cela est correct, vous voudrez peut-être jeter un oeil sur les pools d'applications que vous avez configuré sur le serveur Web. Votre application peut être se confondre dont la piscine pour se mettre quand il commence à courir.

Une autre chose à vérifier est peut-être vos connexions de données et assurez-vous que vous êtes tout fermeture qui a été ouvert.

La dernière chose, comme l'a dit Randolpho, vous allez juste vraiment devoir suivre l'exécution de votre code avec une sorte de profileur et de voir où les choses s'embourber.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top