1

我的应用程序中有超过 20,000 个用户,有时我必须向所有客户端推送一些消息,例如新闻,我在(i<100000)时编写代码来测试与 mqtt 服务器的最大连接,当 i=1018 时,rsmb 不能连接,并运行相同的代码来连接mosquitto,i = 4000 +,但它不支持超过10,000个客户端,我尝试了很多方法,但没有结果,请帮助。

4

2 回答 2

1

在 mosquitto 中,您正在达到操作系统施加的最大打开文件限制。如果您在 Linux 上运行,则需要查看“nofiles”条目下的 limits.conf 手册页以及“ulimit -n”。您可以使用“ulimit -a”查看当前限制。

我相信 rsmb 仅限于大约 1000 个客户,但您应该注意它的许可证,其中指出它仅用于评估。

于 2012-08-03T17:33:43.307 回答
0

如果您在 linux 或 ubuntu 上使用 mosquitto,您可能需要使用 mosquitto.conf 来定义连接数

允许的最大客户端连接数取决于侦听器设置。默认值为 -1,表示无限连接。请注意,其他进程限制意味着无限连接实际上是不可能的。通常,可能的默认最大连接数约为1024

最大连接数 -1

如果您想超越这一点,您可能需要使用可扩展的消息代理。IBM messageSight 等一些产品说他们提供这种可扩展性。

于 2014-08-11T21:11:08.863 回答