2016-12-01 2 views
0

Я работаю с довольно большим веб-сервисом WebAPI, и мы начали обсуждать мониторинг производительности.Мониторинг производительности в ASP. Net WebAPI

Идея состоит в том, чтобы зафиксировать производительность End-To-End, которая для нашего WebAPI будет включать в себя TCP-соединение, SSL-квитирование, брандмауэр F5 и балансировку нагрузки, а WebAPI получает запрос и отправляет ответ. Я думаю, что мы больше озабочены получением, обработкой и отправкой данных, чем установлением соединения.

Мой (возможно ошибочный) вопрос:

Если бы я, чтобы захватить время начала и окончание для запросов с использованием Application_BeginRequest и _EndRequest, хотел бы, чтобы по существу счета для впритык времени?

Другими словами, не считая (возможно, минимального) времени, необходимого для установления соединения с клиентом в WebAPI, будут ли методы BeginRequest и EndRequest получать все HttpRequest от клиента, обрабатывая методы WebAPI , и отправить весь HttpResponse клиенту?

Может ли это приблизиться к измерению общего времени, которое требуется клиенту для отправки запроса на сервер (возможно, с большими данными тела), времени обработки и времени для отправки ответа клиенту (с данными большого тела)? Или я пропущу большую часть приема и отправки?

ответ

1

Нет, BeginRequest не является первым событием в стадии разработки. Существует несколько шагов и процессов, которые происходят за пределами BeginRequest в IIS. См. Эту статью для получения дополнительной информации: https://msdn.microsoft.com/en-us/library/bb470252.aspx

Полезный и бесплатный инструмент для визуализации процесса и обеспечения профилирования в вашей системе разработки доступен в Stackify. Отъезд Prefix, он может предоставить вам полную информацию о сроках в вашей системе разработки.

В производстве вы можете использовать другие решения, такие как мониторинг и профилирование продукции Stackify, или New Relic

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