Параметры мониторинга производительности в Entity Framework 4.1

#c# #performance #entity-framework-4.1 #profiling #usage-statistics

#c# #Производительность #entity-framework-4.1 #профилирование #использование-статистика

Вопрос:

Я разрабатываю пользовательскую систему управления контентом на C # (SQL Server 2005) для своей организации, которая работает в основном на Entity Framework 4.1. Я хотел бы получить некоторое представление о том, как работает мое приложение, особенно когда речь идет о моих запросах EF.

То, что я ищу, — это способ отслеживать количество, скорость и фактическое выполнение (переведенный SQL) запросов, выполняемых в течение заданного периода времени. По сути, я хотел бы добавить функциональность профилирования БД в свое приложение.

Если это вообще возможно, я бы сделал это без реализации пользовательского кода мониторинга для каждой из моих функций репозитория.

Мой вопрос заключается в следующем:
Каков самый простой способ контролировать вход / выход запросов Entity Framework. Я хотел бы получить следующие данные:

  1. Список запросов, выполненных в течение периода времени профилирования
  2. Для каждого запроса я хотел бы видеть время выполнения и фактический SQL
  3. Если возможно, размер результата для каждого запроса также был бы полезен

Комментарии:

1. Разве вы не можете просто использовать SQL Profiler?

Ответ №1:

Вы можете использовать существующий инструмент, такой как профилировщик EF Rhinos в режиме гибернации.

Комментарии:

1. Я определенно могу использовать профилировщик EF, но я бы предпочел обрабатывать этот код, чтобы я мог возвращать результаты через веб-службу.

2. @munroan — Вы можете экспортировать результаты профилировщика и импортировать в базу данных или для использования в веб-службе.