@mefutu

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

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

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

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


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

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

Войти через TM ID
Похожие вопросы
Payment Systems Москва
от 160 000 до 200 000 руб.
Wallet One Чебоксары
от 90 000 до 150 000 руб.
Wallet One Москва
от 100 000 до 190 000 руб.
18 авг. 2018, в 18:35
1000 руб./за проект
18 авг. 2018, в 17:54
6000 руб./за проект
18 авг. 2018, в 18:44
350 руб./за проект