Лучший способ определить узкие места в NHibernate? - PullRequest
3 голосов
/ 02 декабря 2008

Это относится к вопросу , который я задавал ранее. Помимо просмотра SQL, сгенерированного NHibernate при обращениях к базе данных, каков наилучший способ найти узкие места между NHibernate и БД? В частности, у меня есть запросы, которые очень быстро возвращаются при запуске непосредственно в базе данных, но очень медленные (более 3-4 раз) времена возврата при запуске кода в модульных тестах и ​​на веб-странице. Я относительно уверен, что это как-то связано с тем, как я сопоставил свои таблицы и первичные ключи. Как я могу копать дальше, чтобы увидеть, где происходят мои медленные области? Доступны ли другие инструменты? Я знаю, что это чрезвычайно широкий вопрос, но у меня еще не было необходимости исследовать эти проблемы. Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

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

AFAIK, пока нет единого инструмента для профилирования NHibernate. Это может измениться с NHIbernate Profiler Ayende . В то же время вы можете использовать комбинацию профилировщиков кода (например, dotTrace ), SQL Server Profiler, регистратора NHibernate и статического анализа, т. Е. Если вы знаете о проблеме SELECT N + 1, большинство из раз вы можете заметить это, просто взглянув на код.

РЕДАКТИРОВАТЬ : NHProf теперь доступно!

0 голосов
/ 05 декабря 2008

сейчас используйте Sql profiler. Позже вы можете купить Nhibernate Profiler Айенде. Также вы можете войти в SQL и проверить.

0 голосов
/ 02 декабря 2008

Я использую JProbe для анализа своего кода. Он может показать количество времени, проведенного в любом конкретном месте в моем коде, и место узких мест. Я уверен, что есть и другие доступные инструменты, некоторые из которых могут быть дешевле.

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