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

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

WBOY
发布: 2024-02-06 09:15:08
转载
772 人浏览过

我的本地主机上的 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板