2015-04-21 5 views
5

Ich werde eine webrtc-Anwendung hosten. Alles, was der Server tun muss, ist nur Nachrichten wie Raumnummer, Eiskandidaten, Verbindungsunterbrechungen usw. zu übermitteln, nur all diese Nachrichten zur Signalisierung. Ich benutze socket.io und node.js.Wie viel Hosting-RAM benötigt eine webRTC-App?

Der Server reicht so ziemlich nur Text um. Es gibt keine Anmeldung, keine Datenbank, alles ist im Speicher. Es verfolgt eine Liste von Benutzern, die online sind (nur wie viele online sind), und eine Liste der Räume, die genommen werden. Also ein paar Listen von Zahlen, und es übergibt Text zwischen Benutzern, so dass sie über webrtc verbinden können.

Nun, offensichtlich wenn (wenn) ich eine riesige Menge an Verkehr hereinkommt, können die Listen irgendwie groß werden, wie vielleicht 10k-20k 5-stellige Zahlen in jeder Liste (es gibt nur ein paar große Listen).

Und all das herum, wie die Trennung und Verbindung. Ich brauche einen Server, der das schnell erledigen kann, vorzugsweise einen kostenlosen Server. Ich meine, es ist nur Text, also sollte es nicht so groß sein, oder? Aber meine App ist darauf ausgerichtet, eine Person mit der nächsten Person zu verbinden, die sich verbindet. Also, wenn sich eine ganze Menge Leute ungefähr zur gleichen Sekunde verbinden, dann brauche ich einen schnellen Hosting-Server, der das bis zur Milisekunde bewältigen kann ... Wird das überhaupt ein Problem sein?

Was genau sollte ich in einem Server suchen, wenn ich nur Speicher für Nummernlisten (keine Datenbanken) verwende, und Textmaterial herumreichen.

+0

Sie möchten vielleicht eine Cloud-Lösung bevorzugen, so dass Sie bei Bedarf upscalieren können. Im Allgemeinen würde ich mir keine Sorgen machen. Das klingt nicht wirklich nach einem Problem für mich. – Robert

Antwort

0

Zunächst einmal hat dies nichts mit webrtc selbst zu tun. Was Sie grundsätzlich wollen, ist ein chat-server, ein Server, der Daten von einem client zum anderen sendet.
Zweitens ist der Typ von server irrelevant für die Menge von RAM erforderlich, um es auszuführen. Was zählt ist, wie viel clients Sie gleichzeitig haben werden. (bis zu einem gewissen Grad game servers wird natürlich mehr verbrauchen RAM auch ohne clients).
Dritte, mehr RAM bedeutet nicht schnelleres Handling. Das heißt, wenn Sie die verfügbaren RAM nicht vollständig verwenden, wird das Hinzufügen von mehr nichts Gutes tun. Offensichtlich, wenn Sie die verfügbaren RAM überschreiten beginnen die Dinge viel langsamer. Read more about it here

Jetzt, mit denen aus dem Weg, lass uns sehen, was Sie brauchen. Sie können eine sehr grobe Schätzung machen, indem Sie ein paar clients mit einem server verbinden und sehen, wie viel RAM es verwendet. Überprüfen Sie, ob die Anzahl der RAM steigt, wenn diese clients beginnen, sich gegenseitig anzurufen und um wie viel es geht. Sie haben jetzt eine minimale und eine maximale Anzahl von RAM für x clients. Ich würde diesen Test mit etwa 10 clients machen.

Jetzt, da Sie eine Schätzung vornehmen können, berechnen Sie, wie hoch die minimale und maximale RAM für Ihre erwartete Benutzerbasis ist. Es wird von nun an mehr und mehr eine Vorzugssache werden, aber ich würde diesen Betrag mindestens verdoppeln und dann auf die nächste Menge von RAM "sinnvoll" zusammenlaufen (14,7GB wird 16GB, 28,32GB wird 32GB usw.). .)

Ich werde hinzufügen, aus eigener Erfahrung mit webrtc mit etwa 1000-1500 gleichzeitige Benutzer, dass 8GB ist einfach genug. Aber es hängt wirklich von der Anzahl der Benutzer ab, die Sie erwarten.

Auf einem Seitenknoten, empfehle ich sehr nodejs für einen Server.Es ist super einfach zu bedienen, jeder Programmierer, der javascript kennt (so im Grunde jeder Programmierer) kann einen chat-server in nodejs in einem oder zwei Tagen erstellen. Werfen Sie einen Blick auf this open-source webrtc server in nodejs

+0

Ich habe einen Server in node.js geschrieben, aber ich bin nur neugierig, wie Sie es im Web bereitstellen. – Hellothere

Verwandte Themen