2008-12-22 5 views
2

J'ai une page Web qui prend beaucoup trop de temps et doit l'optimiser. Parce que l'optimisation non informée est le diable, j'ai besoin de savoir exactement ce qui me retient. Un rapide coup d'œil m'a montré que c'est probablement une requête LINQ to SQL qui est probablement la cause du problème. Quelles sont les techniques d'épingler le problème de performance dans ce cas? Y at-il des choses spécifiques que vous avez expérimenté que LINQ   à   SQL n'est pas très bon et devrait donc être évité?Techniques pour surveiller/améliorer les performances dans les requêtes LINQ to SQL

Si nécessaire, je peux donner plus de détails sur le code qui construit la requête.

Répondre

1

Vous pouvez utiliser un visualiseur de débogage LINQ to SQL; Scott Guthrie a un blog à ce sujet, LINQ to SQL Debug Visualizer.

Une autre application qui peut vous donner des informations précieuses est le SQL Profiler. Vérifiez l'introduction Introduction to SQL Profiler, il devrait vous aider à démarrer.

J'ai eu quelques problèmes de performance. J'ai ajouté beaucoup d'objets TimeSpan avec l'heure actuelle avant et après chaque instruction LINQ. J'ai ajouté quelques points de rupture pour voir quelles sont les différences entre tous ces TimeSpans. Dans la fenêtre Watch, vous pouvez calculer la différence à la volée et voir immédiatement où se trouvent les points de douleur. Dans mon cas, il s'est avéré être un appel à une méthode d'extension appelée au mauvais moment.

En outre, le InsertOnSubmit et les SubmitChanges peuvent provoquer un retard. Parce que mon client ne devrait pas avoir à attendre, j'ai placé les inserts sur un thread différent.

+0

Semblable à des suggestions sensées. Va le vérifier –