2016-03-03 4 views
-1

Мы разрабатываем программу (услугу), которая получает сообщения от пользователей, используя HTTP-запросы. Программа использует Microsoft.Owin.Hosting. Одним из самых важных требований нашего сервиса является низкая латентность с большим количеством запросов. Итак, мы начали проверять время, когда оно принимает сообщение с момента его отправки и до его получения и обработки в нашем сервисе. Мы заметили одну странную вещь. Первое отправленное сообщение всегда занимает больше времени, чем другие сообщения. Например, мы попытались отправить 1000 сообщений с 10 КБ, все сообщения заняли 15-40 миллисекунд, но первое сообщение заняло одну секунду. (Если мы не перезапустим службу прослушивателя, это не произойдет, поэтому мы уверены, что это слушатель, а не другая часть цепочки). Поскольку это единственное первое сообщение, мы можем жить с этим, нам просто интересно, почему это происходит. Это что-то в реализации хостинга owin?Microsoft.Owin.Hosting первое сообщение

ответ

0

Да. Требуется инициализация. В чем вопрос? Это известный факт на века. По первому запросу происходит много инициализации. Я думаю, что он много размышляет под капотом, пытаясь найти контроллеров.

Фактически я рассматриваю отправку первого запроса как части запуска для обработки этого, пока служба запускается - таким образом, как только служба официально запущена, вообще нет задержки.

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