我有一個應用程序可以打開幾個遠程服務器(我控制的)的保持活動。它發(fā)送一個心跳包以在超時之前保持此連接處于活動狀態(tài)。這就是我創(chuàng)建傳輸?shù)姆绞剑?/ Keep-alive connection to the serverstr := &http.Transport{}client := &http.Client{Transport: tr}如果我使用&http.Transport{MaxIdleConnsPerHost: 2}并將其設(shè)置為 > 2,那么我可以為每個遠程連接維護多個 keep-alive。但是,每個遠程服務器的這些額外保持活動是由 Go 本身在必須發(fā)出并發(fā)請求時創(chuàng)建的,并在超時到期后自動終止。我的問題是:當我初始化我的傳輸(當我開始 Go 時)并讓它們?nèi)勘3只顒訒r,我如何創(chuàng)建額外的保持活動,比如每個遠程服務器自己說 5 個保持活動?這將大大加快后續(xù)請求,速度非常重要。
1 回答

小唯快跑啊
TA貢獻1863條經(jīng)驗 獲得超2個贊
根據(jù) go-nuts 組的輸入,要手動打開多個 keep-alive 到一臺服務器,我們會同時發(fā)出許多請求。Go 然后保持這些活動直到遠程服務器超時(Apache 中默認為 5 秒)。
請注意,這些連接數(shù)不能超過MaxIdleConnsPerHost
默認值 2。
您可以使用驗證此行為 netstat -p tcp
- 1 回答
- 0 關(guān)注
- 458 瀏覽
添加回答
舉報
0/150
提交
取消