我需要创建一个服务器场,它可以处理500万以上的连接,500万以上的主题(每个客户端一个),处理300k条消息/秒。最大MQTT连接
我试图查看各种消息代理的能力,因此我目前使用两个RHEL EC2实例(r3.4xlarge)来创建大量可用资源。所以你不需要查看它,它有16vCPU,122GB RAM。我在使用上远远没有这个限制。
我无法通过600k连接限制。由于在客户端和服务器上似乎没有任何操作系统限制(大量的RAM/CPU等),这些限制了我的工作吗?
我已经编辑/etc/security/limits.conf文件如下:
* soft nofile 20000000
* hard nofile 20000000
* soft nproc 20000000
* hard nproc 20000000
root soft nofile 20000000
root hard nofile 20000000
我已经编辑/etc/sysctl.conf文件如下:
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 5242880 5242880 5242880
net.ipv4.tcp_tw_recycle = 1
fs.file-max = 20000000
fs.nr_open = 20000000
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_syn_backlog = 10000
net.ipv4.tcp_synack_retries = 3
net.core.somaxconn=65536
net.core.netdev_max_backlog=100000
net.core.optmem_max = 20480000
阿波罗: 出口APOLLO_ULIMIT = 20000000
For ActiveMQ:
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS -Dorg.apache.activemq.UseDedicatedTaskRunner=false"
ACTIVEMQ_OPTS_MEMORY="-Xms50G -Xmx115G"
我创建20个附加专用地址的客户端在eth0,然后指派他们: IP地址添加11.22.33.44/24 dev的eth0的
我充分认识到65000个端口限制这就是为什么我做以上。
- 对于ActiveMQ的我练到:574309
- 阿波罗练到:592891
- 兔我到90K,但记录是可怕和无法弄清楚做什么去,虽然我高知道它的可能性。
- For Hive我得到1000的试用限制。等待许可证
- IBM想要交易我家的成本来使用它们 - 不!
真的不能告诉如何增加吞吐量。但是,结帐http://kafka.apache.org/。不确定关于MQTT支持,但它似乎能够处理极端吞吐量/#客户端。 – 2015-03-31 07:52:08
你尝试过蚊子吗? (http://mosquitto.org/) – 2015-04-02 08:02:29
尝试蜂巢,阿波罗,蚊子,活跃,兔子,蚊子 – redboy 2015-04-02 21:58:28