Erstellen Sie einen zuverlässigen und schnellen Server für eine Chat-basierte Node.js-Anwendung

Erstellen Sie einen zuverlässigen und schnellen Server für eine Chat-basierte Node.js-Anwendung

Guten Tag allerseits.

Wir haben ein ernstes Problem mit dem Server. Unser dedizierter Server reagiert bei hohem Datenverkehr nicht. Die Serverantwort ist zu langsam, wenn täglich 2500 Benutzer aktiv sind. Die Gesamtzahl der Benutzer beträgt mehr als 80.000.

Wir haben eine Chat-basierte Anwendung für iOS und Android. Die APIs sind in Node.js geschrieben und die Datenbank verwendet MongoDB.

Bitte machen Sie mir Vorschläge, wie wir die Servergeschwindigkeit verbessern können. Welchen Server soll ich verwenden? Reicht ein einzelner Server für diese Art täglich aktiver Benutzer aus? Unsere Benutzerzahl steigt täglich und wir müssen ihn zuverlässiger machen.

Wir denken über einen Wechsel zu Amazon nach und sollten einen Load Balancer verwenden. Aber ist das eine gute Idee?

Serverinfo:


Handelsname ADVANCE-LE - Intel Xeon W-2145 - 128 GB DDR4 ECC 2666 MHz - 2x SSD NVMe 960 GB Datacenter Class Soft RAID


System (Betriebssystem):


Cpanel 11.68 Autoinstaller (CentOS 7 64bit)


Antwort1

Ohne die Architektur Ihrer App und weitere Details zu kennen, ist eine Schätzung sehr schwer.

Sie müssen den Engpass identifizieren, also herausfinden, welcher Teil Ihrer App überlastet ist. Ist es der Webserver, die Node-App, die Datenbank, der Speicher oder etwas anderes?

Sobald dies bekannt ist, müssen Sie diesen Teil optimieren – beispielsweise Caching oder Indizes hinzufügen, aufteilen, die Codepfade optimieren usw.

Das Erstellen skalierbarer Apps ist nicht trivial und die Verwendung größerer Hardware ist normalerweise nicht die Lösung. Es verschafft Ihnen lediglich Zeit. Die Optimierung der Architektur und des Codes ist die Lösung. Das ist schwieriger, zahlt sich aber viel mehr aus.

Hoffentlich hilft das :)

verwandte Informationen