如果有几百万的预算来建立一个MQTT服务器场,你会怎么做呢?
它必须具有以下属性:
在这里可以找到MQTT服务器代理:https://github.com/mqtt/mqtt.github.io/wiki/server-support#capabilities
然而,功能通常不会发布。
发布于 2015-03-18 09:44:56
IBM Messagesight设备专门为大规模物联网部署而设计的,如连接的汽车:http://www-03.ibm.com/software/products/en/messagesight
使用v2.0集群IBM IoT MessageSight服务器是可能的,它允许您将单个MessageHub扩展到多个服务器,从而甚至允许超过1M连接。
发布于 2015-06-11 16:20:26
尽管Erlang支持的VerneMQ MQTT代理仍然很新,但是没有什么(除了RAM/CPU/ is /带宽)可以阻止您打开这么多连接。
http://verne.mq
确保设置类似于:
listener.max_connections = infinity
listener.nr_of_acceptors = 1000
erlang.max_ports = 10000000
erlang.process_limit = 10000000在你的vernemq.conf里
免责声明:我是VerneMQ的开发人员之一,很乐意帮助您达到1M连接/服务器。
发布于 2019-01-21 13:34:09
HiveMQ是一个自托管的、基于java的Enterprise,专门为支持数百万并发连接而设计。
HiveMQ团队已经完成了一个基准测试,将超过10.000.000个并发MQTT客户端连接到HiveMQ代理集群。为了达到这一数字,伴随着良好的性能,需要在旧机器的操作系统上进行一些配置。
打开/etc/security/limits.conf s.conf中的文件
hivemq hard nofile 1000000
hivemq soft nofile 1000000
root hard nofile 1000000
root soft nofile 1000000TCP在/etc/sysctl.conf中的调整
# This causes the kernel to actively send RST packets when a service is overloaded.
net.ipv4.tcp_fin_timeout = 30
# The maximum file handles that can be allocated.
fs.file-max = 5097152
# Enable fast recycling of waiting sockets.
net.ipv4.tcp_tw_recycle = 1
# Allow to reuse waiting sockets for new connections when it is safe from protocol viewpoint.
net.ipv4.tcp_tw_reuse = 1
# The default size of receive buffers used by sockets.
net.core.rmem_default = 524288
# The default size of send buffers used by sockets.
net.core.wmem_default = 524288
# The maximum size of received buffers used by sockets.
net.core.rmem_max = 67108864
# The maximum size of sent buffers used by sockets.
net.core.wmem_max = 67108864
# The size of the receive buffer for each TCP connection. (min, default, max)
net.ipv4.tcp_rmem = 4096 87380 16777216
# The size of the sent buffer for each TCP connection. (min, default, max)
net.ipv4.tcp_wmem = 4096 65536 16777216有关所使用VM的详细信息、操作系统端所需的特定配置以及详细的性能结果都可以在1 000万份基准票据中找到。
免责声明:我是HiveMQ团队的一员。
https://stackoverflow.com/questions/29106219
复制相似问题