Heim  >  Artikel  >  Web-Frontend  >  So legen Sie die maximale Anzahl von Verbindungen in NodeJS fest

So legen Sie die maximale Anzahl von Verbindungen in NodeJS fest

PHPz
PHPzOriginal
2023-04-06 09:11:571123Durchsuche

Node.js ist eine ereignisgesteuerte serverseitige JavaScript-Laufzeitumgebung, die sich für die Entwicklung leistungsstarker, skalierbarer Netzwerkanwendungen eignet. In praktischen Anwendungen müssen wir häufig die gleichzeitige Netzwerkverbindungsverwaltung des Servers implementieren, indem wir Node.js-Anwendungen schreiben. Während des Verbindungsverwaltungsprozesses kann es jedoch zu Engpässen kommen, die durch zu viele Verbindungen verursacht werden. Daher müssen wir die maximale Anzahl von Verbindungen für Node.js festlegen.

Node.js ist ein ereignisgesteuertes Single-Threaded-Programm und verwendet asynchrone E/A zur Verarbeitung von Netzwerkanforderungen. Das bedeutet, dass Node.js viele gleichzeitige Verbindungen gleichzeitig verarbeiten kann. Unter den Standardeinstellungen von Node.js gibt es keine Begrenzung der maximalen Anzahl von Verbindungen, was für die meisten Anwendungen kein Problem darstellt. In einigen Fällen müssen wir jedoch die maximale Anzahl von Verbindungen begrenzen, um eine übermäßige Auslastung der Serverressourcen zu vermeiden.

Es gibt viele Möglichkeiten, die maximale Anzahl von Verbindungen in Node.js festzulegen. Nachfolgend stellen wir sie einzeln vor.

Methode 1: Verwenden Sie den Befehl ulimit

Der Befehl ulimit ist ein Tool unter Linux/Unix-Systemen, das dazu dient, die Ressourcennutzung von Benutzerprogrammen zu begrenzen. Durch Ändern des Werts des Befehls ulimit können Sie die maximale Anzahl von Node.js-Verbindungen begrenzen. Im Kommandozeilenterminal können Sie mit dem folgenden Befehl die maximale Anzahl an Verbindungen für Node.js festlegen:

ulimit -n 1000

Die maximale Anzahl an Verbindungen ist hier auf 1000 eingestellt. Natürlich können Sie es auch Ihren Bedürfnissen entsprechend anpassen.

Methode 2: Ändern Sie den Node.js-Quellcode

Eine andere Möglichkeit, die maximale Anzahl von Node.js-Verbindungen festzulegen, besteht darin, den Node.js-Quellcode zu ändern. Voraussetzung hierfür ist, dass wir die Quellcodestruktur von Node.js beherrschen und wissen, wie die geänderte Version kompiliert wird. Die spezifischen Änderungsschritte lauten wie folgt:

  1. Öffnen Sie die Datei lib/internal/socket_list.js im Node.js-Quellverzeichnis.
  2. Suchen Sie in der 18. Codezeile den folgenden Code:
const MAX_SOCKETS = Infinity;
  1. Ändern Sie die Unendlichkeit im obigen Code auf die maximale Anzahl von Verbindungen, die Sie festlegen möchten, zum Beispiel:
const MAX_SOCKETS = 1000;

Stellen Sie hier die maximale Anzahl ein Anzahl der Verbindungen bis 1000 . Ebenso können Sie es an Ihre Bedürfnisse anpassen.

  1. Kompilieren Sie den Node.js-Quellcode neu und ersetzen Sie die ursprüngliche ausführbare Node.js-Datei im System.

Methode Drei: Verwenden des Node.js-Moduls

Eine andere Möglichkeit, die maximale Anzahl von Verbindungen in Node.js festzulegen, ist die Verwendung eines Drittanbietermoduls. Die beliebtesten Module sind derzeit ulimit und limits. Beide Module werden verwendet, um die Ressourcennutzung des Prozesses zu begrenzen, einschließlich der maximalen Anzahl von Dateideskriptoren, der maximalen Speichernutzung usw. Mit diesen beiden Modulen können Sie ganz einfach die maximale Anzahl von Verbindungen in Ihrer Node.js-Anwendung festlegen.

Ulimit-Modul-Nutzungsbeispiel:

const ulimit = require('ulimit');

ulimit.set({nofile: 1000}, (err, res) => {
    if (err) {
        console.error(`Failed to set ulimit: ${err}`);
        return;
    }
    console.log(`Set ulimit: ${res}`);
});

Die maximale Anzahl von Verbindungen ist auf 1000 festgelegt, was den beiden vorherigen Methoden entspricht.

Anwendungsbeispiel des Limitierungsmoduls:

const limitation = require('limitation');

limitation.set('nofile', 1000)
    .then(() => console.log('Set maximum number of file descriptors to 1000'))
    .catch((err) => console.error(err));

Die maximale Anzahl der Verbindungen ist auch hier auf 1000 eingestellt.

Die oben genannten sind drei Methoden zum Festlegen der maximalen Anzahl von Verbindungen in Node.js. Mit beiden Methoden können wir die Anzahl der Netzwerkverbindungen für Node.js-Anwendungen flexibler verwalten, wodurch eine übermäßige Auslastung der Serverressourcen vermieden und die Anwendungsleistung und -stabilität verbessert werden.

Das obige ist der detaillierte Inhalt vonSo legen Sie die maximale Anzahl von Verbindungen in NodeJS fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn