@mefutu

NancyFx как узнать время выполнения асинхронного запроса?

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

ЗЫ. Про stopwatch знаю, весь трэш синхронизировать его. В NancyFx есть Before(до выполнения запроса), After(после выполнения запроса) pipline's. Тут именно в фрэймворке и этих модулях дело...
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Как обычно — засекаем момент начала и окончания обработки запроса на стороне сервера, считаем разницу:

var sw = new Stopwatch();
sw.Start();
await MySuperCoolJobAsync();
sw.Stop();
Trace.WriteLine($"{sw.ElapsedMilliseconds} мс");


Измерять время выполнения запросов нужно именно на стороне сервера.
А на стороне клиента измеряют нагрузку, т.е. число запросов в секунду, которое сервер может обработать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@cicatrix
было бы большой ошибкой думать
Собственно, вне зависимости от конкретной реализации, вам нужно "засекать" время начала и время окончания задания, смотреть на их разницу.
В зависимости от того, какое именно вам требуется время (с учётом транспорта до сервера или без его учёта), засекать может как вызывающий компонент, так и сама запускаемая задача.
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы