Эффективный способ отслеживания производительности

#c# #performance

#c# #Производительность

Вопрос:

У меня есть asp.net (c #) проект на удаленной машине (я могу войти в эту машину).

Я хочу отслеживать его потребление времени (в основном bll-код).

Сейчас я использую logger с отметками времени, но я подумал, может быть, у кого-то есть лучший инструмент способ.

Спасибо за любую идею

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

1. вы включили трассировку и просматриваете средство просмотра трассировки?

Ответ №1:

Мы делаем это 24×7 в рабочей среде здесь, в stackoverflow, используя mvc-mini-profiler, который мы выпустили с открытым исходным кодом (просто найдите). С его помощью я могу мгновенно сообщить вам, какой TSQL был выполнен, а также все шаги, использованные при создании этой самой страницы (с синхронизацией и т. Д.), Включая запросы AJAX. И все это бесплатно и практически с нулевым эффектом.

(очевидно, вы можете ограничить отображение профиля конкретными учетными записями пользователей и т. Д.)

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

1. @Elad это веб-сервер; почти все машины являются удаленными. Я нахожусь на другом континенте от своих серверов, и это отлично работает.

Ответ №2:

Ведение журнала — отличный способ сделать это. Вы также можете попробовать профилировщик, иногда они дают вам информацию, которую вы пропустили. У Jetbrains есть один, у RedGate есть один, есть и другие, у некоторых есть бесплатная пробная версия, которую вы можете попробовать.

Ответ №3:

Вам следует изучить mvc-mini-profilier, если вы используете .Net 4.0 или выше. Возможно, потребуется сохранить его на сервере sql. Он имеет быстрый веб-интерфейс, но я обычно игнорирую его и просто использую sql-запросы для получения нужных мне данных.