Ich habe ein Netzwerk von 100 Maschinen, alle mit Ubuntu Linux.
Gibt es eine Begrenzung für die Anzahl der Maschinen, die gleichzeitig an eine einzige Maschine angeschlossen werden können?
Kann ich zum Beispiel 99 meiner Maschinen eine kontinuierliche SSH-Verbindung zur 100. Maschine aufrechterhalten lassen? Kann jeder meiner Computer (jeder der 100) eine ständige SSH-Verbindung zu allen anderen 99 Computern aufrechterhalten?
Wie viel Speicher benötigt eine solche Verbindung?
quelle
X
In-Memory, und Sie möchten den schnellsten Weg finden, um die "Datenstücke" (wenn möglich, parallel) an die anderen 99 Maschinen zu senden (dh, jede Maschine bekommt ihr Stück). Es ist dann an jedem einzelnen Computer, die empfangenen Daten zu verarbeiten und auf seiner lokalen Festplatte zu speichern. macht das Sinn?Ich glaube du kannst. Ich habe normalerweise 3 oder so viele auf meiner Home-Box, und in meinem Büro können wir bis zu 10 haben. Es hängt nur davon ab, was Ihr Computer beherrscht.
Es gibt Einstellungen in sshd_config, die Sie möglicherweise ändern müssen. Hier ist ein Link zum Man Seite . Es ist in gefunden
/etc/ssh/sshd_config
. Der Standardwert ist 10. Sie müssen dies erhöhen.ich habe das gefunden Ressource das sprach darüber, wie man das Maximum erhöhen kann. Hier eine kleine Erklärung:
/proc/sys/net/core/somaxconn
- maximale TCP-Verbindungen (SSH verbindet sich über TCP)/proc/sys/net/core/netdev_max_backlog
- kein so großer Deal, das ist die maximale PaketwarteschlangeSie können diese Zahlen einfach bearbeiten, wenn Sie sie erhöhen möchten. Meine Standardeinstellung
somaxconn
ist 128, also solltest du gut sein.BEARBEITEN:
Andere Optionen
Verwenden Sie Websockets mit NodeJS.
Damit sollten Sie anfangen. Wenn Sie nicht lernen möchten, wie man Websockets verwendet, senden Sie einfach HTTP-Post-Anforderungen an einen Webserver. Sie haben nicht zu viel Aufwand und Sie können auf diese Weise viele Daten senden. Ich würde mich persönlich für die Websockets entscheiden, weil sie in Echtzeit sind und nicht allzu schwierig einzurichten sind.
quelle
somaxconn
von 128. Mein Ziel hier ist, Daten so schnell wie möglich auf jeden der Knoten schreiben / lesen zu können. Haben Sie "bessere" (schnellere) Vorschläge, wie Sie dies erreichen können, als sich durchzuschaltenssh
?nodes
Sie meinen einzelne Computer. Was genau willst du machen?rsync
ist gut zum Senden und Empfangen von Dateien. Mein Ziel ist es hier, Daten auf schnellstem Weg auf einzelne Maschinen (verbunden in einem Netzwerk) schreiben zu können. Meine Quelldaten kommen in den Speicher vonmachine X
. Ich verarbeite es im Speicher und muss es dann speichern. Es sind sehr viele Daten, daher würde ich im Idealfall die Daten im Speicher aufteilen (unter Verwendung einer bestimmten Logik) und sie einfach (dh Teile davon) auf schnellstem Weg an jeden einzelnen Computer senden. Dieser Computer übernimmt das Schreiben von Daten auf die lokale Festplatte.