Здравствуйте, Аноним, Вы писали:
А>Добрый день!
А>Возникла такая задача. Есть приложение на ASP.NET, которое состоит из кучи .ashx хендлеров.
А>Нужно с какой-то стороны подойти к определению узких мест. Причем собрать эту информацию нужно в "боевых условиях".
А>То есть нужно каким-то образом собрать статистику типа: какике хендлеры вызывались и сколько раз, средняя длительность работы итп. Собрать эту статистику нужно за какой-то значимый период — час, сутки, неделя.
А>Пробовал использовать dotTrace, но запускаемое под ним приложение работает супер-медленно. Что, конечно неприемлемо для живой системы, используемой кучей пользователей.
А>Конечно, я могу сам повставлять в код инструкции для замера времени, потом сливать эту информацию куда-то в файл и анализировать. Но мне кажется, должно быть какое-то уже готовое решение здесь существовать. Подскажите
А студийный профайлер или
http://memprofiler.com или из этой стопки...
http://habrahabr.ru/blogs/net/109418/...
В них четко видно реальную нагрузку на сервер со стороны каждого компонента...
Короче говоря имеешь дело с абсолютными величинами и четко видно что оптимизировать, можнт быть там один запрос который тормозит ну очень сильно но и запускается редко — оптимизация мало что даст, зато какойто мелкий очень часто вызывается и его хоть и малоеускорение может существенней разгрузить сервер...
А в логах видать ток количество вызовов, а что кто и кого тормозил, где ресурсы пошли нетуда, ничего не видно

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