HttpClient
HttpClient
HttpClient
クラスは、複数のAPI呼び出しで再利用するように設計されています。
(永続的な設定の場合)などのコンポーネントは、再利用を通じて効率のために設計されています。 各リクエストの新しいHttpClient
を作成することは、これらのコンポーネントを不必要に再発行し、パフォーマンスの劣化につながります。
HttpClientHandler
DefaultRequestHeaders
メッセージハンドラーを効果的に活用するHttpClient
のサポートももう1つの重要な要素です。 新しいインスタンスごとにこれらのハンドラーの再登録が必要になり、オーバーヘッドを追加し、リクエスト全体で状態情報を失う可能性があります。
TCP/IP接続のプーリングとパフォーマンスHttpClientインスタンスの廃棄は、その根底にあるHttpClient
を閉じ、関連するTCP/IP接続を終了します。 要求ごとに
推奨アプローチ:最適なパフォーマンスのためのシングルトンパターン
パフォーマンスを最適化するために、ベストプラクティスは、アプリケーションの寿命全体にわたって単一のインスタンスを使用し、個別のAPIに個別のインスタンスを使用する可能性があります。このアプローチにより、オブジェクトの作成と廃棄のオーバーヘッドが最小限に抑えられ、効率的な通信のためにHttpClient
の組み込み機能を完全に利用します。 シングルトンパターンまたは依存関係注入は、この単一のインスタンスを管理するための適切な方法です。
以上がWebAPIコールごとに新しいHTTPCLIENTインスタンスを作成する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。