と呼ばれます。 WebAPIクライアントシーンでは、HTTPClientのライフサイクルが重要な考慮事項です。この記事では、各コールに新しいHTTPClientを作成するために既存のインスタンスを再利用することに関連するパフォーマンスオーバーヘッドについて説明します。
httpclient
を作成して処分します パフォーマンスに影響を与える確立および閉鎖ネットワーク接続を含むhttpClientの作成と廃棄。例のコードフラグメントは、各リクエストで新しいhttpclientの作成と廃棄を示しています。 新しいhttpclientを作成するオーバーヘッドを作成 HTTPCLIENTは、再利用可能な資格情報、Cookie、DefaultrEquestheadersなどの関数を提供しますが、各コールの新しい例を作成するときに特定のコストが発生します。これらの属性と管理処理手順の間の共有状態は、不必要な費用になりました。
<code>using (var client = new HttpClient()) { // API 请求 }</code>
主なパフォーマンスの問題は、httpclientの処分です。これは、ServicePointManagerが管理するTCP/IP接続を閉鎖することを余儀なくされます。これにより、新しいHTTPCLIENTを使用する各リクエストの新しいTCP接続を確立することにつながります。
パフォーマンスインパクトパフォーマンスの影響は、ネットワーク条件と接続タイプ(http/https)に依存します。観察結果は、インターネットを介したTCP接続の再確立が明らかなパフォーマンス損失につながることを示しています。 提案
パフォーマンス費用を最大化するには、アプリケーションのライフサイクルにアクセスできる一意のAPIごとにHTTPClientインスタンスを維持することをお勧めします。この方法により、HTTPClientインスタンスを作成および処分する必要性が減り、パフォーマンスが向上します。
以上がWeb API呼び出しごとに新しいHTTPClientを作成するか、インスタンスを再利用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。