我在以太網上運行客戶端服務器配置,並測量兩端的數據包延遲。客戶端(windows)每隔5毫秒發送一次數據包(用線鯊魚確認)。然而,服務器(嵌入式linux)僅以5毫秒的間隔接收數據包幾秒鐘,此時停止300毫秒。休息之後,延遲只有20美分。再過幾秒鐘後,又需要300毫秒的時間。這無限重複(300ms中斷,20us數據包延遲突發)。看起來好像服務器程序正在優化中,以更短的突發讀取IO。這是爲什麼發生?爲什麼UDP數據包接收似乎優化中執行?
免責聲明:我還沒有發佈的代碼,爲客戶端和服務器的更復雜的應用小的子集,但是,我願意因素出來,如果一個顯而易見的答案並不存在本身。
是否收到所有的數據包? – EJP
我相信如此。我明天可以驗證這一點。 – Ralph
你如何測量20 us的延遲?是否有任何請求響應?你有原子鐘嗎?數據報的大小是多少? – rodolk