【Node.js24.x】Object::globalAgentプロパティの使い方
globalAgentプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
globalAgentプロパティは、Node.jsのhttpおよびhttpsモジュールがそれぞれ提供し、HTTPまたはHTTPS通信におけるソケット接続を管理するためのデフォルトのAgentインスタンスを保持するプロパティです。このAgentは、ウェブサーバーへの多数のリクエストが発生する際に、新しい接続を確立するオーバーヘッドを削減し、既存のソケット接続を再利用することで、アプリケーションのパフォーマンスと効率を向上させる重要な役割を担っています。
具体的には、http.request()やhttps.request()などの関数を利用して外部リソースへアクセスする際、明示的にagentオプションを指定しない限り、これらのモジュールのglobalAgentが自動的に使用されます。これにより、複数のリクエストが同じホストとポートに送られる場合に、接続をプールして効率的に再利用することが可能になります。
globalAgentプロパティが保持するAgentインスタンスは、例えば同時に開けるソケットの最大数(maxSockets)や、SSL/TLS接続におけるハンドシェイクの設定など、様々なオプションを持っています。これらの設定を調整することで、アプリケーションがネットワークリソースをどのように利用するかをシステム全体で制御することができます。システムエンジニアを目指す方にとって、特に大量のHTTPリクエストを処理するアプリケーションを設計・運用する際には、このglobalAgentの動作原理を理解し、必要に応じて設定を最適化することが、安定性とパフォーマンスを確保するために非常に重要となります。
構文(syntax)
1const http = require('http'); 2console.log(http.globalAgent);
引数(parameters)
引数なし
引数はありません
戻り値(return)
Agent
グローバルな HTTP Agent オブジェクトを返します。この Agent は、Node.js の HTTP/HTTPS クライアントリクエスト全体で共有され、接続のプーリングや管理を行います。