Le profilage en temps réel = 45 secondes, mais le temps de fil = 0,387 secondes ce qui pourrait causer cet écart?

StackOverflow https://stackoverflow.com/questions/1940494

Question

Ainsi, notre fournisseur d'hébergement récemment déplacé notre serveur de test d'un environnement à un autre, l'environnement virtualisé. Après le déménagement des choses sur l'environnement de test obtenu extrêmement lent.

Par exemple la connexion bureau à distance a été lente, ne pas utiliser de bureau à distance, la connexion juste. En outre, certaines applications asp.net qui fonctionne généralement comme le vent sont maintenant en cours d'exécution comme une tortue. Après beaucoup de débats sur la cause de ce ralentissement, je commencé à enquêter sur le problème réel.

La dernière trouvaille intéressante a été trouvée lorsque j'ai installé dotTrace sur le serveur de test. L'exécution d'une page, je savais que j'exécuterait mal obtenu des résultats suivants (de haut niveau) pour le fil qui a effectué le travail pour la page problématique:

Real/wall time: 45538 ms
Thread time:    375 ms

Pour autant que je sais que cela signifie que le fil passe énormément de temps pas en cours d'exécution. Ma propre théorie pour animaux de compagnie est que l'environnement virtuel priorise d'autres serveurs fonctionnent sur mon serveur. Serait-ce la cause? Que pensez-vous?

Remarque:. Si vous avez besoin de plus de détails comme les traces réelles que je n'ai aucun problème les distribuer si vous demandez

Modifier Plus de détails! Les appels les plus chers de la trace sont:

1 appel à KeyInfoX509Data.ctor (X509Certificate, X509IncludeOption): 30014 ms
1 appel à SignedXml.ComputeSignature: 15045 ms

Trace détails

Était-ce utile?

La solution 2

Il est avéré être un problème de sécurité / réseau / dns. L'un des enregistrements DNS sur le serveur était incorrect. Cela a conduit à une mauvaise IP retourné quand il a essayé de rechercher le serveur AD. Cela a ensuite conduit à les délais d'attente lors de la demande d'information AD qui a ensuite à nouveau conduit à d'autres problèmes. Toutes ces questions ne se sont montrés comme une longue pause lors de la demande de certaines pages.

Autres conseils

Pour moi, que les cris de divergence d'IO attendent des problèmes. Disque ou réseau, le plus probable, bien que CPU ne me surprendrait pas non plus.

Comme il semble être particulièrement en lisant le certificat, j'examiner s'il y a une autre machine virtuelle / le service obtenir avide sur disque ou réseau. le téléchargement de gros fichiers ou Perpétuellement une base de données très accessible peut être la cause racine.

Pour être sûr, vous auriez à regarder l'activité correspondante sur toutes les machines virtuelles qui partagent votre matériel et peut-être les traces de réseau se rendre à votre boîte de test et de votre boîte de test à l'extérieur. Ceci est probablement quelque chose que seul le fournisseur d'accès Internet peut le faire (car il est essentiellement un problème d'interaction entre le client).

En fonction du serveur VM et le matériel, il peut être un paramètre tweakable ou il ne peut pas être. Dans le cas contraire, il ne peut y avoir tout ce que vous pouvez faire à ce sujet.

En tout cas, je suis d'accord avec votre théorie: il est probablement pas un problème avec votre demande, mais plutôt un problème avec votre fournisseur. Si vous avez des poids avec le fournisseur d'accès Internet, je renvoies les résoudre et / ou qui enquêtent sur les fournisseurs changeants. Le coût de piratage autour d'elle est susceptible sensiblement nain les amener à vous consacrer juste un peu de matériel ou d'aller avec un fournisseur qui peut vous donner le service dont vous avez besoin.

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