Методы мониторинга / улучшения производительности в запросах LINQ to SQL - PullRequest
2 голосов
/ 22 декабря 2008

У меня есть веб-страница, которая занимает слишком много времени и мне нужно ее оптимизировать. Поскольку неосведомленная оптимизация - это дьявол, мне нужно знать, что именно удерживает меня. Быстрый взгляд показал мне, что, вероятно, проблема вызвана LINQ to SQL .

Каковы методы определения проблемы с производительностью в этом случае? Были ли какие-то конкретные вещи, которые вы испытывали, что LINQ to SQL не так хорош в этом, и поэтому их следует избегать?

При необходимости я могу дать более подробную информацию о коде, который создает запрос.

1 Ответ

1 голос
/ 22 декабря 2008

Вы можете использовать LINQ to SQL отладчик визуализатора; У Скотта Гатри есть хороший пост об этом, LINQ to SQL Debug Visualizer .

Другим приложением, которое может дать вам ценную информацию, является SQL Profiler. Проверьте введение Введение в SQL Profiler , оно должно помочь вам начать работу.

У меня была пара проблем с исполнением. Я добавил множество объектов TimeSpan с текущим временем до и после каждого оператора LINQ. Я добавил несколько точек останова, чтобы увидеть, в чем разница между всеми этими временными промежутками. В окне Watch вы можете рассчитать разницу на лету и сразу увидеть, где находятся болевые точки. В моем случае это был вызов метода расширения, вызванного не в то время.

Кроме того, InsertOnSubmit и SubmitChanges могут вызвать задержку. Поскольку мой клиент не должен был ждать этого, я поместил вставки в другой поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...