Макс. MQTT-соединения

Мне нужно создать ферму серверов, которая может обрабатывать более 5 миллионов соединений, более 5 миллионов тем (по одной на клиента), обрабатывать 300 тыс. Сообщений в секунду.

Я попытался выяснить, на что способны различные брокеры сообщений, поэтому в настоящее время я использую два экземпляра RHEL EC2 (r3.4xlarge), чтобы сделать много доступных ресурсов. Так что вам не нужно искать его, он имеет 16vCPU, 122GB RAM. Я не близко к этому пределу в использовании.

Я не могу пропустить ограничение в 600 КБ. Так как, кажется, нет никаких ограничений O / S (много 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

Для ActiveMQ:

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

Я создал 20 дополнительных личных адресов для eth0 на клиенте, а затем назначил их: ip addr add 11.22.33.44/24 dev eth0

Я ПОЛНОСТЬЮ осведомлен об ограничениях порта 65k, поэтому я сделал выше.

Для ActiveMQ я получил: 574309Для Аполлона я добрался до: 592891Для Кролика я получил 90к, но регистрация была ужасной и не мог понять, что делать, чтобы подняться выше, хотя я знаю, что это возможно.Для Hive я получил пробный лимит 1000. В ожидании лицензииIBM хочет обменять стоимость моего дома, чтобы использовать их - нет!

Ответы на вопрос(1)

Ваш ответ на вопрос