Макс. 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 хочет обменять стоимость моего дома, чтобы использовать их - нет!