我正在嘗試建立連接到同一websocket 伺服器(go 伺服器)的客戶端池,以測試效能和處理即將到來的請求的能力。
例如,我想知道如何才能達到 100k 客戶端,因為我看到當我達到 28233 個 gorilla 客戶端(websocket 客戶端)時,程式無法創建更多。
我收到以下錯誤
tcp 127.0.0.1:8000: connect: cannot assign requested address
提前致謝
從 127.0.0.1 到 127.0.0.1:8000 不能有 100k 個並行客戶端連線。這些並行客戶端連接中的每一個都必須具有不同的來源連接埠(否則就不是不同的連接),並且只有 64k 來源連接埠可用。實際上,數量甚至更少,因為系統會從臨時連接埠 甚至更少(取決於作業系統和配置)。
如果系統無法選擇未被另一個連接使用的唯一來源連接埠到相同的目標 IP 和端口,那麼您將收到“無法分配請求的位址”。
如果您想支援更多並行連接,您需要更改連接的其他參數,而不僅僅是來源連接埠。通常,這是透過不使用單一伺服器套接字而是使用多個偵聽不同連接埠的套接字來完成的。
以上是我的本地主機上的 websocket 連線數不能超過 28233 個(用於壓力測試)| Go 用戶端(大猩猩)的詳細內容。更多資訊請關注PHP中文網其他相關文章!