Max conexiones MQTT

Tengo la necesidad de crear una granja de servidores que pueda manejar más de 5 millones de conexiones, más de 5 millones de temas (uno por cliente), procesar mensajes de 300k / seg.

Traté de ver qué varios agentes de mensajes eran capaces, así que actualmente estoy usando dos instancias RHEL EC2 (r3.4xlarge) para hacer muchos recursos disponibles. Por lo tanto, no necesita buscarlo, tiene 16vCPU, 122GB de RAM. No estoy cerca de ese límite de uso.

No puedo pasar el límite de 600k conexiones. Dado que no parece haber ninguna limitación de O / S (mucha RAM / CPU / etc.) ni en el cliente ni en el servidor, ¿qué me limita?

He editado /etc/security/limits.conf de la siguiente manera:

* soft  nofile  20000000
* hard  nofile  20000000

* soft  nproc  20000000
* hard  nproc  20000000

root  soft  nofile 20000000
root  hard  nofile 20000000

He editado /etc/sysctl.conf de la siguiente manera:

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

Para Apollo: export APOLLO_ULIMIT = 20000000

Para ActiveMQ:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS -Dorg.apache.activemq.UseDedicatedTaskRunner=false"
ACTIVEMQ_OPTS_MEMORY="-Xms50G -Xmx115G"

Creé 20 direcciones privadas adicionales para eth0 en el cliente, luego las asigné: ip addr add 11.22.33.44/24 dev eth0

Soy TOTALMENTE consciente de los límites del puerto de 65k, por eso hice lo anterior.

Para ActiveMQ llegué a: 574309Para Apolo llegué a: 592891Para Rabbit llegué a 90k, pero el registro fue horrible y no pude averiguar qué hacer para ir más alto, aunque sé que es posible.Para Hive llegué al límite de prueba de 1000. En espera de una licenciaIBM quiere cambiar el costo de mi casa para usarlos, ¡no!

Respuestas a la pregunta(1)

Su respuesta a la pregunta