Ich muss eine Serverfarm erstellen, die mehr als 5 Millionen Verbindungen bewältigen kann, 5 Millionen Themen (eines pro Client), 300.000 Nachrichten pro Sekunde verarbeiten.Max MQTT-Verbindungen
Ich habe versucht zu sehen, was verschiedene Message-Broker waren, also verwende ich derzeit zwei RHEL EC2-Instanzen (r3.4xlarge), um viele verfügbare Ressourcen zu machen. Sie müssen also nicht nachsehen, es hat 16VCPU, 122GB RAM. Ich bin bei der Verwendung dieser Grenze nicht annähernd.
Ich bin nicht in der Lage, die Grenze von 600k Verbindungen zu bestehen. Da es weder auf dem Client noch auf dem Server eine O/S-Beschränkung gibt (viel RAM/CPU/etc.), Was schränkt mich ein?
habe ich bearbeitet /etc/security/limits.conf wie folgt:
* soft nofile 20000000
* hard nofile 20000000
* soft nproc 20000000
* hard nproc 20000000
root soft nofile 20000000
root hard nofile 20000000
ich bearbeitet haben /etc/sysctl.conf wie folgt:
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
Für Apollo: Export APOLLO_ULIMIT = 20000000
Für ActiveMQ:
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS -Dorg.apache.activemq.UseDedicatedTaskRunner=false"
ACTIVEMQ_OPTS_MEMORY="-Xms50G -Xmx115G"
I 20 zusätzliche private Adressen für eth0 auf dem Client erstellt, dann zugewiesen: ip addr hinzufügen 11.22.33.44/24 dev eth0
Ich bin voll und ganz der 65k Port Grenzen, weshalb ich tat obenstehendes.
- Für ActiveMQ Ich habe zu: 574309
- Für Apollo ich bekam: 592891
- Für Kaninchen bekam ich auf 90k aber Protokollierung war schrecklich und konnte nicht herausfinden, was obwohl ich höher zu tun, um zu gehen weiß es möglich.
- Für Hive bekam ich vor Gericht Limit von 1000 eine Lizenz Erwarten
- IBM die Kosten für mein Haus handeln will, sich zu nutzen - nah!
kann nicht wirklich sagen, wie den Durchsatz zu erhöhen. Allerdings Check-out http://kafka.apache.org/. Nicht sicher über die MQTT-Unterstützung, aber es scheint extrem Durchsatz/# Clients zu ermöglichen. –
hast du mosquitto probiert? (http://mosquitto.org/) –
Probieren Hive, Apollo, Mosquito, Active, Kaninchen, Mücke – redboy