2016-03-03 55 views
-1

我們正在開發一個程序(servise),它使用http請求從用戶處獲取消息。該程序正在使用Microsoft.Owin.Hosting。 我們的服務最重要的要求之一是具有大量請求的低延遲。因此,我們開始測試發送消息的時間,直到它在我們的服務中被接收和處理。我們注意到一件奇怪的事。發送的第一條消息總是需要比其他消息更長的時間來接收。例如,我們嘗試發送1000條10KB的消息,所有消息都需要15到40毫秒才能到達,但第一條消息需要一秒鐘。 (如果我們不重啓監聽器服務,它不會發生,所以我們確定它是監聽器,而不是鏈中的其他部分)。因爲它只有第一條信息,我們可以忍受這一點,我們只是好奇它爲什麼會發生。這是在實施owin託管的東西嗎?Microsoft.Owin.Hosting第一條消息

回答

0

是的。需要初始化。什麼是問題?這是一個衆所周知的事實。在第一次請求時,會發生很多初始化。我認爲它在引擎蓋下做了很多反思,試圖找到控制器。

我實際上考慮發送第一個請求作爲啓動的一部分,以便在服務啓動時處理這個問題 - 這種方式一旦服務正式啓動就沒有任何延遲。