首頁 > 後端開發 > Golang > 我的本地主機上的 websocket 連線數不能超過 28233 個(用於壓力測試)| Go 用戶端(大猩猩)

我的本地主機上的 websocket 連線數不能超過 28233 個(用於壓力測試)| Go 用戶端(大猩猩)

WBOY
發布: 2024-02-06 09:15:08
轉載
753 人瀏覽過

我的本地主机上的 websocket 连接数不能超过 28233 个(用于压力测试)| Go 客户端(大猩猩)

問題內容

我正在嘗試建立連接到同一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中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板