2009-07-03 3 views
2

Мы хотим узнать, как долго выполняются определенные действия в приложении ASP.NET MVC. Мы используем ActionFilters для запуска и остановки таймера каждый раз при вызове действия contoller. В результате небольшой набор данных немного, как это:Запись показателей производительности ASP.NET MVC

{ 
    ContollerName: 'Account', 
    ActionName: 'Index', 
    ExecutionDuration: 287, 
    TimeRecorded: '2009-07-02 17:34:54' 
} 

Мы хотим, чтобы луч эти данные прочь к веб-службы, так что мы можем собрать, а затем проанализировать его. Например, мы можем узнать, что Account/Index является самым медленным действием в приложении.

Дело в том, что мы получаем 1000 запросов в секунду, делая 1000 вызовов услуг в секунду, не очень умно; это повредит производительности приложения.

Есть ли способ делать буферизованные служебные звонки? Или есть ли там библиотеки для этого? Или наша архитектура не так !?

Мысли оценили.

ответ

3

Я обычно не просто связываю ответы на вопросы здесь, но парень на сайте whiletrue.com сделал действительно хорошую работу по профилированию MVC здесь. Его слайд-шоу охватывает почти все, что он сделал, чтобы настроить его.

http://blog.whiletrue.com/2009/04/aspnet-mvc-performance/

+0

Очень интересная ссылка, спасибо! –

+0

Это потрясающий ресурс, хороший! Это не совсем отвечает на мой вопрос, потому что мы все еще хотим собирать такие операционные данные, а не запускать ab.exe для бенчмаркинга. – tobinharris

0

Вы можете создать контроллер с действием, которое может принимать эти четыре значения и просто ударить по вашему собственному сайту и в этом контроллере разместить информацию в базе данных. Затем попросите другую группу процессов отправить эту информацию в веб-службу.

Смежные вопросы