Node.js は、高性能でスケーラブルなネットワーク アプリケーションの開発に適した、イベント駆動型のサーバーサイド JavaScript ランタイム環境です。実際のアプリケーションでは、多くの場合、Node.js アプリケーションを作成してサーバーの同時ネットワーク接続管理を実装する必要があります。ただし、接続管理の過程で接続数が多すぎることによるボトルネックの問題が発生する可能性があるため、Node.js の最大接続数を設定する必要があります。
Node.js はシングルスレッドのイベント駆動型プログラムであり、非同期 I/O を使用してネットワーク リクエストを処理します。これは、Node.js が同時に多数の同時接続を処理できることを意味します。 Node.js のデフォルト設定では、最大接続数に制限はなく、ほとんどのアプリケーションでは問題ありません。ただし、場合によっては、サーバー リソースの過剰な占有を避けるために、最大接続数を制限する必要があります。
Node.js では最大接続数を設定する方法がたくさんありますので、以下で 1 つずつ紹介していきます。
方法 1: ulimit コマンドを使用する
ulimit コマンドは、Linux/Unix システムでユーザー プログラムのリソース使用量を制限するために使用されるツールです。 ulimit コマンドの値を変更することで、Node.js 接続の最大数を制限できます。コマンド ライン ターミナルで次のコマンドを使用して、Node.js の最大接続数を設定できます:
ulimit -n 1000
最大接続数は 1000 に設定されます。もちろん、ニーズに応じて調整することもできます。
方法 2: Node.js ソース コードを変更する
Node.js 接続の最大数を設定するもう 1 つの方法は、Node.js ソース コードを変更することです。これを行うための前提条件は、Node.js のソース コード構造と、変更されたバージョンのコンパイル方法をマスターする必要があることです。具体的な変更手順は次のとおりです。
const MAX_SOCKETS = Infinity;
const MAX_SOCKETS = 1000;
最大接続数は 1000 に設定されます。同様に、ニーズに合わせて調整することもできます。
方法 3: Node.js モジュールを使用する
Node.js で最大接続数を設定するもう 1 つの方法は、サードパーティ モジュールを使用することです。現在、最も人気のあるモジュールは ulimit とlimit です。どちらのモジュールも、ファイル記述子の最大数、最大メモリ使用量など、プロセスのリソース使用量を制限するために使用されます。これら 2 つのモジュールを使用すると、Node.js アプリケーションの最大接続数を簡単に設定できます。
ulimit モジュールの使用例:
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}`); });
最大接続数は、前の 2 つの方法と同じ 1000 に設定されます。
制限モジュールの使用例:
const limitation = require('limitation'); limitation.set('nofile', 1000) .then(() => console.log('Set maximum number of file descriptors to 1000')) .catch((err) => console.error(err));
ここでも最大接続数を 1000 に設定します。
上記は、Node.js で最大接続数を設定する 3 つの方法です。どちらの方法でも、Node.js アプリケーションのネットワーク接続数をより柔軟に管理できるため、サーバー リソースの過剰な占有が回避され、アプリケーションのパフォーマンスと安定性が向上します。
以上がNodejsで最大接続数を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。