ここに表示されているのは Apigee Edge のドキュメントです。
Go to the
Apigee X のドキュメントに移動します。 info
このドキュメントでは、Apigee Edge Message Processor の keep-alive タイムアウトを構成する方法について説明します。
Message Processor の keep-alive タイムアウトを使用すると、リクエスト / レスポンスごとに新しい接続を開くのではなく、単一の TCP 接続でバックエンド サーバーとの間で複数の HTTP リクエスト / レスポンスを送受信できます。
Message Processor の keep-alive タイムアウト プロパティのデフォルト値は
60 秒です。このタイムアウト期間は、ターゲット エンドポイント構成と API プロキシの ServiceCallout ポリシーで構成されたバックエンド サーバーに適用されます。
Message Processor の keep-alive タイムアウトは、必要に応じてデフォルト値
の 60 秒から増減できます。次の方法で構成できます。
- API プロキシ:
- ターゲット エンドポイント
ServiceCalloutポリシー
- Message Processor
Message Processor の keep-alive タイムアウトは、次のプロパティによって制御されます。
| プロパティ名 | ロケーション | 説明 |
|---|---|---|
keepalive.timeout.millis |
API プロキシ:
|
これは、リクエスト/レスポンスごとに新しい接続を開くのではなく、単一の TCP 接続で複数の HTTP リクエスト/レスポンスを送受信できる Message Processor の最大アイドル時間です。 デフォルトでは、このプロパティは Message Processor の
特定の API プロキシのターゲット エンドポイントまたは |
HTTPClient.keepalive.timeout.millis |
Message Processor |
これは、リクエスト/レスポンスごとに新しい接続を開くのではなく、単一の TCP 接続で複数の HTTP リクエスト/レスポンスを送受信できる Message Processor の最大アイドル時間です。 このプロパティは、この Message Processor で実行されているすべての API プロキシで使用されます。 このプロパティのデフォルト値は このプロパティは、以下の
Message Processor の keep-alive タイムアウトを構成する
で説明されているように変更できます。また、API プロキシ レベルで |
始める前に
このドキュメントの手順を行う前に、次のトピックを理解しておいてください。
- keep-alive タイムアウトに慣れていない場合は、
keepalive.timeout.millisTargetEndpoint トランスポート プロパティの仕様の プロパティの説明をご覧ください。 - Private Cloud で Edge のプロパティを構成したことがない場合は、 Edge を構成する方法をご覧ください。
API プロキシで keep-alive タイムアウトを構成する
keep-alive タイムアウトは、API プロキシの次の場所で構成できます。
- ターゲット エンドポイント
ServiceCalloutポリシー
API プロキシのターゲット エンドポイントで keep-alive タイムアウトを構成する
このセクションでは、API プロキシのターゲット エンドポイントで keep-alive タイムアウトを構成する方法について説明します。
keep-alive タイムアウトは、keep-alive タイムアウト値を
ミリ秒単位で表すプロパティ
keepalive.timeout.millis を使用して構成できます。
- Edge UI で、新しい keep-alive タイムアウト値を構成する特定の API プロキシを選択します。
- 変更する特定のターゲット エンドポイントを選択します。
-
TargetEndpoint構成の<HTTPTargetConnection>要素の下に、適切な値を持つプロパティkeepalive.timeout.millisを追加します。たとえば、keep-alive タイムアウトを
30秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
keepalive.timeout.millisプロパティはミリ秒単位であるため、30秒の値は30000です。次の例は、API プロキシのターゲット エンドポイント 構成で keep-alive タイムアウトを構成する方法を示しています:
バックエンド サーバーの URL を使用したターゲット エンドポイント構成の例
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>ターゲット サーバーを使用したターゲット エンドポイント構成の例
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint> - API プロキシに対する変更を保存します。
API プロキシの ServiceCallout ポリシーで keep-alive タイムアウトを構成する
このセクションでは、API プロキシの
ServiceCallout ポリシーで keep-alive タイムアウトを構成する方法について説明します。keep-alive タイムアウトは、
プロパティ the keepalive.timeout.millisを使用して構成できます。これは、
keep-alive タイムアウト値をミリ秒単位で表します。
ServiceCallout ポリシーで keep-alive タイムアウトを構成するには、
keepalive.timeout.millis プロパティを使用します:
- Edge UI で、
ServiceCalloutポリシーの新しい keep-alive タイムアウト値を構成する特定の API プロキシを選択します。 - 変更する特定の
ServiceCalloutポリシーを選択します。 TargetEndpoint構成の<HTTPTargetConnection>要素の下に、適切な値を持つプロパティkeepalive.timeout.millisを追加します。たとえば、keep-alive タイムアウトを
30秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
keepalive.timeout.millisプロパティはミリ秒単位であるため、30秒の値は30000です。次の例は、API プロキシの
ServiceCalloutポリシーで keep-alive タイムアウトを構成する方法を示しています:バックエンド サーバーの URL を使用した ServiceCallout ポリシー構成の例
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>ターゲット サーバーを使用した ServiceCallout ポリシー構成の例
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>- API プロキシに対する変更を保存します。
Message Processor の keep-alive タイムアウトを構成する
このセクションでは、Message Processor の keep-alive タイムアウトを構成する方法について説明します。keep-alive タイムアウトは、Message Processor コンポーネントの keep-alive タイムアウト値をミリ秒単位で表すプロパティ
HTTPClient.keepalive.timeout.millis を使用して構成できます。このプロパティは Message Processor でコメントアウトされているため、 Edge を構成する方法の
現在コメントアウトされているトークンを設定するで説明されているように、特殊な構文 conf/http.properties+HTTPClient.keepalive.timeout.millis を使用する必要があります。
Message Processor の keep-alive タイムアウトを構成するには、次の操作を行います。
- Message Processor マシンで、エディタで次のファイルを開きます。まだ存在しない場合は、作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、
viを使用してファイルを開くには、次のように入力します。vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルに次の形式で 1 行を追加し、
TIME_IN_MILLISECONDS の値を置き換えます。
conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
たとえば、Message Processor の keep-alive タイムアウトを
30秒に変更するには、次の行を追加します:conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- 変更を保存します。
- プロパティ ファイルが、次のように
apigeeユーザーによって所有されていることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor で上記の手順を繰り返します。
Message Processor の keep-alive タイムアウトを確認する
このセクションでは、Message Processor で keep-alive タイムアウトが正常に変更されたことを確認する方法について説明します。
特殊な構文
conf/http.properties+HTTPClient.keepalive.timeout.millis を使用して Message Processor の keep-alive
タイムアウトを設定しても、実際のプロパティ
HTTPClient.keepalive.timeout.millis が新しい値で設定されているかどうかを確認する必要があります。
- Message Processor マシンで、
HTTPClient.keepalive.timeout.millisディレクトリ内のプロパティ/opt/apigee/edge-message-processor/confを検索し、次のように新しい値で設定されているかどうかを確認します。grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
Message Processor で新しい keep-alive タイムアウト値が正常に設定されると、 上記のコマンドで
http.propertiesファイルに新しい値が表示されます。keep-alive タイムアウトを
30秒に構成した後の上記のコマンドの出力例は次のとおりです。/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
上記の出力例では、プロパティ
HTTPClient.keepalive.timeout.millisがhttp.propertiesの新しい値30000で設定されています。これは、Message Processor で keep-alive タイムアウトが30秒に正常に構成されたことを示します。 - プロパティ
HTTPClient.keepalive.timeout.millisの古い値が表示される場合は、 Message Processor の keep-alive タイムアウトを構成する で説明されているすべての手順を正しく行っていることを確認してください。手順が抜けている場合は、すべての手順をもう一度正しく繰り返します。 - keep-alive タイムアウトを変更できない場合は、 Google Cloud Apigee Edge サポートにお問い合わせください。