在與合作方聯調某個明細數據接口的時候發現
1、當請求條數為4,content-length<1500時,數據可以正確返回。
2、當請求條數為5,content-length>1500時,無數據返回。
經過debug程序,發現卡在流讀取read()方法上。修改幾種流讀取方式均無效,經同事提醒,使用curl命令直接請求對方接口,
返回的結果和程序請求一直,請求條數為5時,無法返回,卡住。
經過同事的抓包分析,發現中間有一個包丟失。合作方也配合我們進行所有設想的操作(比如別的調用方是否有問題,更改數據庫數據等等)。
此時越來越懷疑是網絡的問題,網絡方面的同事介入了,說明相關情況之后(網絡走專線,長度1500有問題等),懷疑是雙方MTU的問題。
在更改我方MTU之后(從1500改為1400),五條數據成功返回。
mtu參數地址:https://yq.aliyun.com/articles/222535