[英]Non-blocking connect timeout
我正在執行非阻塞連接到服務器。
選擇用於考慮服務器停機/忙碌的適當超時值是多少?
PS
由於服務器關閉或繁忙,連接可能會失敗。
如果服務器關閉,我總是會以選擇超時結束。
更有趣的情況是服務器繁忙時。 IMHO 1秒足以完成TCP握手。 如果連接服務器花費的時間太長,則與服務器的所有通信都會延遲。 那么,在選擇最多1秒的時間內等待是否是合理的決定?
數據包可能會丟失,在這種情況下,節點將在超時后重新發送它,因此請不要使用剛好足以進行握手的值。 您可以使用tcpdump
播放一些內容,斷開連接(拔掉以太網電纜),然后看看發生了什么。
大約10到20秒就可以了,但這取決於您的任務有多重要...
與服務器的連接應幾乎立即進行。 我認為這可能有點主觀,但幾秒鍾就足夠了。 對於最近的一些工作,我們使用了10秒,它捕獲了我們所有的案例。
確實由您決定,但是我想大約10到20秒是合理的超時時間。
Apache的默認KeepAliveTimeout為15秒 ,因此這是您可以使用的一種標准。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.